Новый релиз Tantor Postgres 17.5.0 основан на комьюнити-версии PostgreSQL 17, обладает расширенными по сравнению с ней функциональными возможностями и повышенной производительностью, и доступен в нескольких редакциях, включая оптимизированную для использования в высоконагруженных системах «1С». Релиз содержит максимальное за историю развития продукта количество новых функций и улучшений, включая новые средства обеспечения безопасности, значительные оптимизации планировщика запросов, продвинутые механизмы мониторинга и множество других функций, недоступных в PostgreSQL 17.
Улучшенная защищенность
Прозрачное шифрование данных (Transparent Data Encryption, TDE), реализованное в виде расширения, надежно защищает данные на диске. Возможно выборочное шифрование отдельных таблиц для гибкого управления безопасностью разных данных. Поддерживаются современные алгоритмы шифрования, включая ГОСТ. Технология TDE дополняет существующие меры: шифрование при передаче (TLS), контроль доступа на основе ролей (RBAC), защиту на уровне строк (RLS) и другие.
Отдельное приложение pg_sec_check для комплексного аудита безопасности СУБД, предназначенное для администраторов БД и ИБ-специалистов, стремящихся применять лучшие практики безопасности в промышленной среде. Автоматически выявляет уязвимости и формирует детализированный отчет с рекомендациями по их устранению. Проверки можно кастомизировать под конкретное окружение. Отчеты доступны в форматах HTML и JSON для дальнейшей обработки.
Протокол аутентификации OAuth 2.0 позволяет приложениям получать защищенный доступ к данным без передачи паролей пользователей, снижая риски компрометации учетных данных и несанкционированного доступа.
Повышение производительности
Новое расширение pg_stat_advisor позволяет анализировать планы выполнения запросов и автоматически создает недостающую статистику, ускоряя важные запросы без сложного анализа.
Добавлен новый механизм работы с временными таблицами: информация о них теперь может храниться в оперативной памяти, а синхронизация с диском оптимизирована. Это позволяет устранить проблему деградации производительности из за раздувания системного каталога в приложениях, интенсивно использующих временные таблицы.
Обновленное расширение pg_stat_statements: повышена точность мониторинга, появились возможности интеллектуальной агрегации данных: система маскирует (нормализует) имена временных объектов, что дает более полезную статистику по однотипным запросам. При высокой нагрузке теперь можно использовать семплирование, исключающее влияние на общую производительность.
Прецизионный сбор статистики с оптимальным соотношением между ее точностью и временем на сбор. Для больших (на миллионы строк) таблиц увеличенная выборка обеспечивает точные планы запросов, для малых — эффективный ANALYZE. Команда SET STATMULTIPLIER для колонок позволяет точнее выявлять скалярные статистики для таблиц со сложным распределением данных, снижать риск неоптимальных планов для критичных запросов и экономить ресурсы за счет снижения точности для некритичных таблиц.
Расширено использование SIMD-инструкций для параллельной обработки данных за такт процессора. Ожидается, что подобные улучшения войдут в состав комьюнити-версии PostgreSQL 18, однако в Tantor Postgres 17.5.0 они доступны уже сейчас.
Повышенная производительность при работе с системами «1С»
Реализован механизм отложенного размещения временных таблиц. СУБД выделяет дисковое пространство только при реальной необходимости, существенно снижая нагрузку на подсистему ввода-вывода. Особенно эффективно для 1С-приложений с массовым созданием небольших временных таблиц.
Оптимизации планировщика запросов. Сложные аналитические запросы, использующие механизм 1C RLS (row-level security), выполняются значительно быстрее за счет снятия ограничения на преобразование EXISTS подзапросов в SEMI JOIN. Благодаря технологии Join Predicate Pushdown системы «1С» ускоряются за счет проталкивания соединений внутрь GROUP BY подзапросов и минимизации объема обрабатываемых данных на ранних этапах (аналогично Oracle/MS SQL). Также планировщик автоматически выбирает «покрывающие» селективные индексы, игнорируя стандартную оценку стоимости индексного сканирования.
Улучшена работа оператора LIKE для типа mchar/mvarchar: для поиска подстрок в Unicode-строках используются оптимизированные функции, ускоряющие обработку простых шаблонов.
Значительно ускорено выполнение команды Analyze для широких таблиц, характерных для 1C: сбор статистики для таблиц с большим числом колонок выполняется быстрее.
Оптимизированы запросы с группировками, характерными для операций «Закрытие месяца» в 1С:ERP. Выполнение запросов данной категории ускорено в несколько раз.
Другие новые функции и улучшения
Доработка расширения pg_throttle: добавлена поддержка механизма cgroups, обеспечивающего изоляцию нагрузок. Это повышает стабильность системы путем назначения бэкендов конкретных пользователей в предопределенные контрольные группы.
Утилита для настройки диагностических расширений упрощает внедрение систем мониторинга, автоматизируя настройку расширений для диагностики производительности БД, такие как pg_store_plans, pg_stat_statements, pg_stat_kcache, auto_explain, pg_buffercache и другие.
Более подробно о нововведениях релиза можно прочесть в документации.
Источник: habr.com