СУБД Postgres Pro Enterprise 17.5.1: новые возможности
Разработчик продуктов для работы с данными Postgres Professional выпустил новую версию СУБД Postgres Pro Enterprise — 17.5.1. В системе появилась возможность работать с аналитикой, представлена автоматическая настройка СУБД, а также новая технология для бэкапа, упрощена работа с 1С и многое другое.
Встроенная аналитика
В Postgres Pro Enterprise 17.5.1 впервые интегрирован движок DuckDB, который позволяет внедрить OLAP-аналитику:
- консистентная репликация OLTP-таблиц в Parquet без отдельной ETL-инфраструктуры;
- использование S3 для хранения и анализа данных;
- ускорение аналитических запросов за счёт колоночного хранения и векторных вычислений;
- работа с несколькими источниками данных в рамках одного запроса;
- прозрачная интеграция для существующих пользователей.
Новая технология резервного копирования
pg_probackup3 — полностью переработанное решение для резервного копирования и восстановления данных с рядом преимуществ:
- Версионная независимость — одна версия pg_probackup3 совместима с разными версиями Postgres Pro и PostgreSQL.
- Интеграция через API — централизованное управление резервным копированием.
- Передача данных без SSH — упрощение инфраструктуры и повышение безопасности.
- Интеграция с FUSE — работа с базой данных прямо из резервной копии без полного восстановления.
- Инкрементальное копирование (DELTA, PTRACK) — экономия времени и места.
- Улучшенное управление резервными копиями — новый формат резервных копий создает заданное количество архивных файлов для удобства хранения, а не копирует содержимое PGDATA as is.
- Поддержка облачных и ленточных хранилищ, NFS, S3/MinIO/VK Cloud.
Автоматическая настройка СУБД
Утилита pgpro_tune для автоматической генерации оптимальных параметров конфигурации PostgreSQL на основании характеристик оборудования. Теперь интегрирована с процессом инициализации кластера (initdb). Она особенно полезна при быстрых развёртываниях СУБД и помогает в минимизации человеческих ошибок и описок в настройках.
Аналог Real-time SQL Plan Management
В составе Enterprise 17.5.1 мы выпустили наш аналог Real-time SQL Plan Management — теперь в pgpro_multiplan добавлена возможность автоматического добавления планов в список разрешенных при срабатывании AQE. Таким образом, после первого срабатывания AQE и прохождения цикла переоптимизаций для нахождения оптимального плана, этот план добавится в baseline как разрешенный и при следуещем выполнении запроса будет сразу применен. Лучше всего так исправлять ошибки оптимизатора.
Для использования функции нужно включить AQE aqe_enable=on и например, поставить aqe_rows_underestimation_rate_trigger = 2
Также должен быть загружен pgpro_multiplan и включен
- pgpro_multiplan.enable = on
И выставлены параметры
- pgpro_multiplan.aqe_collect_stats = on
- pgpro_multiplan.aqe_plans_auto_approve = on
Удобная работа с 1С
- Учет влияния неравномерного распределения данных в столбце на план запроса. В PostgreSQL планировщик иногда выбирает неправильный план из-за предположения о равномерности распределения данных. Новый подход к оценке селективности в Postgres Pro показал отличную эффективность на тесте «1С» «Закрытие месяца». Так, по данным тестов Антона Дорошкевича, скорость закрытия выросла почти в 10 раз.
- Технология Background freezer. Очистка модифицированных и незаблокированных страниц в оперативной памяти значительно упрощает работу процесса «вакуум», снижая нагрузку на систему и ускоряя работу «1С».
- Параллельные воркеры при сканировании временных таблиц. Решают проблемы с производительностью запросов с группировкой, которые возникают при расчете себестоимости в «1С».
- Параллельный автовакуум. Автовакуум теперь работает в многопоточном режиме, что значительно ускоряет очистку при нагрузке, характерной для «1С».
- In-memory catalog для временных таблиц. Информация о постоянно появляющихся и удаляющихся временных таблицах «1С» в системном каталоге Postgres — одна из основных причин снижения производительности в многопользовательском режиме. Значительно доработанный патч от «1С» хранит каталог временных таблиц в оперативной памяти и отдельно от системного каталога.
- Утилита автоматической настройки pgpro_tune. Утилита для конфигурации Postgres Pro имеет специализированный пресет настроек под «1С».
- Восстановление из резервной копии отдельной БД. Разработчикам «1С» часто приходится разворачивать копии отдельных баз данных, в том числе и на определенный момент времени в прошлом. Новая возможность в несколько раз ускоряет этот процесс, так как не копирует ненужные данные из резервной копии.
Решение проблемы с верхней границей временных диапазонов
Тип данных daterange в PostgreSQL по умолчанию исключает верхнюю границу диапазона, что неудобно для задач вроде расчёта отпускных или планирования периодов. Новое расширение daterange_inclusive позволяет явно включать верхнюю границу временного диапазона, делая работу с календарными интервалами более интуитивной и избавляя от необходимости ручных корректировок.
Новые возможности
- pgpro_result_cache — кэширование результатов запросов через хинты прямо в SQL, что особенно полезно для ускорения пагинации и повторяющихся запросов.
- pgpro_bindump — системная утилита, обеспечивающая работу резервного копирования без необходимости прямого доступа к PGDATA.
Узнайте подробно об этих и других возможностях новой СУБД — в замечаниях к выпуску.