Postgres Professional обновила СУБД Postgres Pro Shardman
Компания Postgres Professional объявляет о выпуске обновлённых версий СУБД Postgres Pro Shardman 14.13.4, 14.15.1, 14.15.2.
Postgres Pro Shardman — новая распределенная реляционная СУБД с возможностями горизонтального масштабирования для крупнейших инсталляций до 100 ТБ и выше. СУБД позволяет разделить данные на части и распределить их по разным серверам — шардам. При этом решение обеспечивает встроенную отказоустойчивость и гарантированное соблюдение требований ACID: атомарности, согласованности, изолированности и устойчивости.
В текущих выпусках добавлены новые возможности, улучшена производительность и исправлены ошибки.
Среди важнейших изменений версии 14.13.4:
A.3.1. Ядро и расширения
- Добавлены различные оптимизации планировщика запросов.
- Добавлена новая функция shardman.broadcast_query, которая возвращает результаты исполняемого выражения SQL.
- Ускорены операции вставки, обновления и удаления для глобальных таблиц.
- Запрещено создание сегментированных и локальных секционированных таблиц по одному и тому же атрибуту.
- Исправлена проблема неправильного распределения ресурсов, которая ранее могла вызывать ошибки в некоторых случаях вытеснения кортежей на диск.
- Исправлена ошибка в приложении pg_rewind при повышении реплики, приводившая к полной синхронизации предыдущего ведущего сервера.
- Обновлен модуль pgpro_pwr до версии 4.7.
A.3.2. Утилиты управления
- Добавлено протоколирование изменений параметров, если они приводят к перезапуску postgresql.
- Улучшена логика получения состояния экземпляра PostgreSQL.
- Улучшены сообщения в журнале приложения shardmand.
- Добавлена поддержка уровней сжатия в зависимости от алгоритма сжатия при создании резервной копии командой shardmanctl probackup backup.
- Добавлена зависимость количества записей pgbench_branches от количества узлов в рамках тестов производительности shardmanctl. Это позволяет более равномерно распределять данные по узлам.
- Добавлены новые команды в shardmanctl, которые позволяют вывести узлы репликационной группы из состояния зависания и изменить параметры журналирования без перезапуска.
В версии 14.15.1 представлены следующие важные изменения:
A.2.1. Ядро и расширения
- Добавлена трассировка прохождения запросов через транспорт Silk.
- Добавлена поддержка модуля pg_query_state и рекомендательных блокировок — необязательных блокировок на уровне кластера с задаваемыми приложениями значениями. Также добавлен список функций для работы с такими блокировками.
- Исправлена ошибка, которая ранее приводила к неконтролируемому использованию и распределению памяти со стороны silkworm в ходе обработки сообщений.
- Исправлена ошибка, которая приводила к нестабильной работе Silk и возможному зависанию запросов при включённом параметре shardman.silk_flow_control.
A.2.2. Утилиты управления
- Добавлена команда shardmanctl history, которая позволяет просматривать историю команд модификации кластера. По умолчанию команды отсортированы от наиболее новых к наиболее старым.
- Распределенное хранилище вида ключ-значение etcd обновлено до версии 3.5.13.
В версии 14.15.2 реализованы такие изменения:
A.1.1. Ядро и расширения
- Добавлена различные улучшения в мониторинг и настройки транспортного уровня.
- Ускорено планирование для запросов вида поле = ANY (ARRAY[values]) в массивах с большим количеством записей, также добавлено несколько вспомогательных опций оптимизатора.
- Исправлена ошибка, которая ранее приводила к зависанию мультиплексора.
- Обновлён вывод команды EXPLAIN, которая теперь показывает блоки server и transport в одной строке, если указать значение verbose.
Кроме этого, обновления получили:
- Модули pgpro_pwr до версии 4.8 и pg_query_state до версии 1.1.
- Расширение pgpro_stats до версии 1.8-sdm4, утилита pg_probackup до версии 2.8.5.
A.1.2. Утилиты управления
- Исправлена ошибка, которая ранее приводила к игнорированию ключа командной строки, если задана соответствующая ключу переменная окружения.
- В команду shardmanctl bench run добавлены новые параметры, а также устранены сбои при длительной работе, связанные с переполнением буферов памяти и выполнением не от имени postgres.
- Исправлена ошибка, которая приводила к полной повторной синхронизации реплики и была связана с попаданием некорректных данных в postgresql.auto.conf.
- Исправлена ошибка, ранее приводившая к сообщению уровня PANIC при попытке вызова команд изменения настроек неинициализированного кластера.
Подробная информация об обновлениях доступна в замечаниях к выпускам: 14.13.4, 14.15.1, 14.15.2.