Спецпроекты

На страницу обзора
Postgres Pro Enterprise 18: встроенный in-memory кеш и новые горизонты отказоустойчивости

Компания Postgres Professional заканчивает работу над главным релизом года для СУБД семейства Postgres Pro – Postgres Pro Enterprise 18. Обновление объединило в себе передовые решения для крупного бизнеса и возможности новейшего ядра PostgreSQL 18. Ключевые улучшения сделаны в области кеширования данных СУБД в оперативной памяти, адаптивной оптимизации запросов, масштабируемости и повышения отказоустойчивости, оптимизации записи и больших данных. Читайте подробнее о самых значимых нововведениях.

Возможности ядра PostgreSQL 18

Переход на ядро PostgreSQL 18 даёт пользователям повышение производительности и более удобную эксплуатацию. В Postgres Pro Enterprise 18 доступны все новые решения ванильной версии, включая:

  • Асинхронный ввод-вывод (AIO). Внедрение AIO позволяет СУБД выполнять множественные запросы на чтение данных с диска параллельно, не дожидаясь ответа на каждый из них. Это существенно ускоряет последовательное сканирование, операции Vacuum и сбор статистики, закладывает фундамент для будущих рекордов производительности в высоконагруженных аналитических и транзакционных системах.
  • Оптимизация SkipScan. Новая стратегия планировщика позволяет более эффективно использовать многоколоночные B-tree индексы даже в тех случаях, когда условие Where не включает ведущую колонку индекса. Это часто превращает полное сканирование таблицы (seqscan) в быстрый индексный поиск.
  • Расширенные инструменты мониторинга. Доработки ExplainAnalyze (автоматическое отображение Buffers, детализация временного хранилища и I/O) делают диагностику и настройку сложных запросов более наглядными и эффективными.
  • Эффективный Vacuum. Значительно переработан механизм Vacuum, включая «нетерпеливую заморозку» (eagerfreezing), которая снижает вероятность блокировок и позволяет лучше контролировать масштабирование рабочих процессов автовакуума.

KVik — кеширование данных СУБД в RAM

Для систем с высокой нагрузкой на чтение данных в расширение proxima добавлен экспериментальный функционал KVik, — кеширующий в оперативной памяти данные СУБД и обеспечивающий быструю работу с ними через RESP-протокол. Основная функциональность KVik:

  • высокопроизводительное чтение данных;
  • поддержка RESP-протокола, команды Get, Set, Del;
  • автоматическая инвалидация данных в кеше при их изменении в СУБД при операциях insert, update, delete;
  • автоматическое изменение данных в СУБД при их изменении в кеше при операциях Setи Del.
Компания Postgres Professional заканчивает работу над главным релизом года для СУБД семейства Postgres Pro

Улучшенная адаптивная оптимизация запросов (AQO 4.0)

Модуль AQO (AdaptiveQueryOptimizer) 4.0 использует машинное обучение для автоматического исправления ошибок в планах выполнения запросов, возникающих в стандартном планировщике. Ключевое отличие версии 4.0 — устранение накладных расходов на этапе планирования, которые ограничивали применение модуля в предыдущих версиях. Также из улучшений:

  • благодаря нивелированию затрат ресурсов на планирование, модуль теперь рекомендован для любых типов рабочих нагрузок, а не только для специфических сценариев;
  • за счёт построения более эффективных планов запросов пользователи отмечают снижение нагрузки на дисковую подсистему на десятки процентов;
  • в новой версии реализована поддержка конфигураций высокой доступности, а также устранены проблемы с разрастанием служебных данных и временными таблицами.

Масштабируемость и отказоустойчивость (BiHA)

Кластерное решение BiHA получило обновления для геораспределенных систем и Enterprise-эксплуатации.

1. Каскадная репликация

Решена проблема избыточной нагрузки на сеть и основной сервер (Лидер) в кластерах с большим количеством узлов или распределенных по разным ЦОДам. Теперь реплики могут получать данные не напрямую от Лидера, а транзитом через другие узлы. Это минимизирует трафик между дата-центрами и освобождает ресурсы Лидера для обработки транзакций. Механизм полностью автоматизирован: при сбоях промежуточных узлов кластер самостоятельно перестраивает цепочку репликации, выбирая наиболее актуальный источник (Best Follower).

2. Мажорный апгрейд с минимальным простоем

Реализована процедура обновления кластера BiHA с версии 17 на 18 с минимальным простоем и гарантией отсутствия потери данных и возможностью отката на старую версию в процессе обновления.

LoadBalancer: Умная балансировка

В расширении proxima появился встроенный балансировщик нагрузки, упрощающий маршрутизацию запросов. Теперь драйверу не нужно гадать, куда отправлять запросы, — СУБД предоставляет специализированные порты:

  • P2L (Proxy-to-Leader): порт для пишущей нагрузки (RW);
  • P2F (Proxy-to-Follower): порт для распределения читающей нагрузки (RO) между репликами.

Оптимизация записи и больших данных

Для администраторов баз данных, сталкивающихся с ETL-процессами и массовой загрузкой, Postgres Pro Enterprise 18 предлагает три новых инструмента:

1. Append Optimized Table

Новая табличная опция append_optimized = true. При массовой вставке данные буферизируются пачками, что кратно снижает количество поисков свободных буферов и записей в WAL. Идеально для быстрой загрузки логов и исторических данных.

2. Мультисегментная вставка

Решает проблему конкуренции за блокировки (buffercontention) при параллельной вставке в одну таблицу. Каждый бэкенд-процесс пишет в свой собственный файловый сегмент. Это позволяет линейно масштабировать скорость записи при 10–50 параллельных потоках.

3. Отложенное сжатие (CFS)

Для сжатых файловых систем (CFS) появилась возможность вставлять данные без компрессии (для максимальной скорости), а сжатие выполнять фоново позже. Это ускоряет процесс загрузки данных («ночное окно»).

Секционирование по ссылке (ReferencePartitioning)

В PostgresProEnterprise 18 можно автоматически создавать партиции в дочерних таблицах на основе внешнего ключа (Foreign Key) к родительской таблице. Например, при создании новой партиции «Январь 2025» в таблице Orders в связанной таблице Order_Items соответствующая партиция появится автоматически. Это значительно упрощает управление иерархическими структурами данных.

Отложенная смена пароля

Для технических учетных записей введен механизм плавной ротации паролей. Параметр OLD_PASSWORD_TIME позволяет задать период, в течение которого действуют и старый, и новый пароли. Это дает возможность обновлять конфигурации приложений постепенно, без остановки сервиса.

Кеширование результатов запросов

Для сценариев с «тяжелыми» повторяющимися выборками (например, пагинация на высоконагруженных сайтах) добавлен модуль pgpro_result_cache.Достаточно добавить хинтresult_cache в SQL-запрос, и результат будет сохранен в памяти. При любом изменении данных в исходных таблицах кеш мгновенно сбрасывается. Это позволяет сократить время выполнения запросов с секунд до долей миллисекунды.

Еще больше о Postgres Pro Enterprise 18 — на PGPRO TechDAY 2026

В конце января 2026 участников масштабной технической конференции о решениях Postgres ProfessionalPGPRO TechDAY 2026 — ждет подробная презентация всех возможностей СУБД Postgres Pro Enterprise 18. Регистрируйтесь на мероприятие — и узнайте больше о новинках в управлении базами данных с Postgres Pro!