Релиз Postgres ProGate 1.4.0: параллелизация задач, ускоренная интроспекция и оптимизация работы с СУБД

Postgres Professional выпускает Postgres ProGate 1.4.0 — очередное обновление платформы миграции и репликации данных. Главное новшество версии — поддержка AXE с загрузкой в S3, открывающая новые сценарии для аналитических хранилищ. Также в релизе — повышение производительности утилит, укрепление безопасности и переработка механизма интроспекции схем данных.

ProGate — решение для бесшовного переноса данных между различными СУБД (Oracle, PostgreSQL, Postgres Pro, Shardman), состоящее из трёх ключевых компонентов: procopy (высокоскоростная первичная загрузка), prosync (CDC-репликация изменений) и procheck (проверка консистентности).

Управление параллелизмом в procopy

Утилита procopy получила более гибкий контроль над параллельной обработкой задач:

  • добавлен параметр sub_task_count, определяющий, на сколько подзадач может разбиваться исходная задача копирования;

  • расчёт размера подзадач теперь выполняется автоматически, а параметр sub_task_rowsпереведён в статус deprecated;

  • появился флаг force_restart_task, позволяющий перезапускать задачи без очистки данных и без изменения идентификатора задачи — удобно для выполнения регулярных задач переноса данных (например, снапшотов т-1).

В procopy добавлена поддержка AXE в качестве приёмника данных с загрузкой в S3-совместимое хранилище. Это расширяет сценарии использования платформы для построения аналитических хранилищ.

Отключение проверок ограничений при загрузке

В procopy и prosync добавлен параметр disable_constraint_checks. Он позволяет отключать проверку ограничений (constraints) и пользовательских триггеров на время записи батча в целевую PostgreSQL-based БД, что ускоряет загрузку данных в сценариях, где целостность гарантируется на уровне источника или последующей верификации.

Улучшения prosync

CDC-репликация в prosync стала надёжнее и производительнее:

  • добавлена опция single_loader в секцию table — позволяет для конкретной таблицы принудительно использовать один загрузчик, даже если глобально задано несколько загрузчиков (prosync_options.loaders > 1). Это обеспечивает последовательную обработку изменений для таблиц, связанных внешними ключами или другими зависимостями;

  • исправлена ошибка, из-за которой prosync не мог считывать записи с большими значениями SCN из онлайн-журналов Oracle;

  • устранено удержание WAL-файлов для источников PostgreSQL при редких изменениях в таблицах задачи за счёт улучшения механизма продвижения слотов логической репликации;

  • повышена производительность применения изменений (INSERT/UPDATE) для Oracle.

Переработанная интроспекция схем данных

Одно из наиболее значимых изменений релиза — переработка механизма интроспекции:

  • реализована асинхронная обработка, что заметно ускоряет интроспекцию схем с большим количеством таблиц;

  • добавлена поддержка проверки привилегий доступа к схемам и таблицам;

  • реализованы проверки совместимости подключений для prosync, включая проверку прав на чтение таблиц — результаты доступны через API;

  • улучшено автоматическое сопоставление схем и таблиц для задач трансфера на основе совпадения имён.

Улучшение безопасности

Добавлено новое событие безопасности: фиксация блокировки учётной записи пользователя при превышении лимита неудачных попыток ввода пароля (PROGATE_PASSWORD_POLICY_MAX_FAILED_ATTEMPTS).

Все компоненты системы переведены на версию Go 1.26.5, Apache Thrift обновлён до версии v0.23.0 с устранением ранее обнаруженных уязвимостей.

Обновление Postgres ProGate 1.4.0 уже доступно для установки. Подробная документация по переходу и описание всех изменений представлены по ссылке:

https://postgrespro.ru/docs/progate/current

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев