ProGate от Postgres Professional: переход с Oracle со скоростью 41 ТБ в день
Для крупных организаций перенос информации часто становится препятствием при смене иностранных систем управления базами данных на российские. Ключевые проблемы включают огромные объёмы данных, необходимость длительного простоя в работе и сложности в настройке точной синхронизации обновлений. Когда речь идёт о десятках терабайт, даже подготовительные работы превращаются в самостоятельный проект, сопряжённый со значительными рисками.
В ответ на потребности рынка, Postgres Professional представила ProGate — инструмент, который сочетает высокоскоростную загрузку данных, постоянную репликацию изменений и автоматизированный контроль качества. Продукт уже прошёл апробацию в пилотных проектах и продемонстрировал способность эффективно переносить масштабные корпоративные базы данных, а также выстраивать надёжные процессы репликации в контексте обновления ИТ-инфраструктуры.
Что представляет собой ProGate?
Это комплексный инструмент для миграции и репликации данных. Он включает в себя несколько специализированных утилит, охватывающих все стадии переноса:
- ProCopy — ускоренная первоначальная выгрузка данных;
- ProSync — постоянная синхронизация изменений (Capture Data Change — CDC);
- ProCheck — проверка качества и согласованности данных после миграции.
Решение поддерживает не только переход на Postgres Pro/PostgreSQL, в том числе с устаревших СУБД, но и регулярную репликацию, передачу данных во внешние аналитические хранилища, включая форматы parquet и планируемую интеграцию с OLAP-системами. Рассмотрим подробнее каждую из этих утилит.
Давайте детально изучим каждую из представленных утилит.
Этап 1. Начальная выгрузка данных при помощи ProCopy
ProCopy представляет собой консольный инструмент для оперативной первоначальной загрузки информации, например, в СУБД Postgres Pro. Его цель — обеспечить предельно быстрый перенос значительных объёмов данных, в том числе в работающую («горячую») базу, чтобы сократить простой или задержки в функционировании приложений до минимума. В ходе последних синтетических испытаний была достигнута скорость обработки 200–500 МБ в секунду, или до 41 ТБ в сутки на маршруте Oracle Database → Postgres Pro. Для направления PostgreSQL → Postgres Pro показатель составляет около 1 ГБ/сек.
В настоящее время ProCopy позволяет загружать данные из Oracle, Postgres Pro и PostgreSQL, а также выгружать их в формат Parquet. В планах развития — добавление поддержки MS SQL, MySQL, Shardman и других систем, а также интеграция с распределёнными хранилищами данных.
Принцип действия
ProCopy создан на языке Go, что даёт возможность оптимально задействовать ресурсы сервера, выполнять операции параллельно и перемещать базы данных любого масштаба.
С архитектурной точки зрения, ProCopy задействует пул параллельных процессов для чтения и записи, встроенную шину данных для эффективного обмена между ними, а также механизм обработки сбоев с функцией повторной загрузки проблемных записей.
Ключевые достоинства
- Высокая скорость передачи информации.
- Гибкие настройки конфигурации (YAML/JSON).
- Возможность возобновить процесс с точки останова.
Поддерживаются сложные типы данных (LOB, XML, JSON и прочие).
Этап 2. Синхронизация изменений посредством ProSync (CDC)
ProSync — это инструмент для непрерывного отслеживания изменений (CDC) в Oracle Database и Postgres-совместимых системах, с их последующим применением в Postgres Pro. Это обеспечивает кратковременный простой при миграции. Также решение может функционировать как самостоятельный инструмент репликации.
Как это функционирует?
Когда в базе данных Oracle происходят какие-либо изменения — будь то добавление новой записи, обновление существующей или удаление информации, — эти операции фиксируются в специальных журналах изменений (redo-логах) Oracle Database. ProSync постоянно отслеживает эти журналы и немедленно регистрирует каждое изменение. Затем он применяет эти изменения в базе данных Postgres Pro.
В результате данные в Postgres Pro или PostgreSQL постоянно поддерживаются в актуальном состоянии и полностью соответствуют данным в Oracle Database. Это позволяет проводить миграцию с минимальным техническим окном и без потери информации.
Пример из практики
Представьте банк, который не может позволить себе остановку систем даже на час. Используя ProSync, банк может постепенно переносить данные и приложения с Oracle Database на Postgres Pro, не останавливая работу исходной системы. Пользователи продолжают работать с Oracle Database, а все изменения в реальном времени синхронизируются с новой базой данных на Postgres Pro. После завершения полной синхронизации можно переключить приложения на новую систему с минимальным временем простоя.
Сильные стороны
- Незначительное влияние на производительность исходной базы данных.
- Устойчивая обработка сбоев и постоянный контроль состояния процесса репликации.
- Возможность масштабирования технологии CDC для задач интеграции и передачи значительных массивов информации в системы аналитики.
Этап 3. Верификация данных с помощью ProCheck
ProCheck — это программное средство, предназначенное для подтверждения успешности миграции и полного соответствия информации в Postgres Pro данным из Oracle Database.
На текущий момент ProCheck предлагает широкий спектр проверок: сопоставление уникальных ключей, сверку объёмов записей, построчное сравнение, а также анализ результатов выполнения SQL-запросов.
Принцип действия
Инструмент выполняет сравнение таблиц, строк и столбцов между двумя базами. Он обнаруживает любые несоответствия, ошибки конвертации, утрату данных и формирует детализированный отчёт.
Пример сценария
После окончания переноса данных необходимо удостовериться, что финансовые балансы в Oracle Database и новой системе на Postgres Pro идентичны. ProCheck автоматически проверит каждую транзакцию и засвидетельствует корректность переноса всех данных.
Применение ProGate наиболее оправдано при переносе крупномасштабных баз данных объёмом от терабайта, необходимости свести к минимуму время простоя и обеспечить «горячую» миграцию, жёстких требованиях к качеству и целостности данных, а также при организации регулярной передачи данных в аналитические хранилища и OLAP-системы.
Потенциальные ограничения ProGate
Несмотря на достоинства, важно принимать во внимание возможные ограничения. Изменения структуры базы в ходе миграции могут потребовать ручной корректировки, пользовательские типы данных — особой настройки или ручной обработки, а таблицы без первичных ключей способны усложнить использование модуля ProSync, для оптимальной работы которого желательно наличие уникальных идентификаторов.
Выход ProGate, анонсированный на CNews Forum, стал значимым шагом в создании целостной экосистемы инструментов для перехода на Postgres Pro. Решение охватывает полный цикл переноса — от первоначальной загрузки до непрерывной синхронизации и проверки согласованности.
Для проектов по импортозамещению это означает сокращение сроков перехода, снижение операционных рисков и возможность выстраивания унифицированных потоков данных для транзакционных и аналитических систем. ProGate фактически решил одну из наиболее сложных технологических задач на рынке — массовый, быстрый и контролируемый перенос данных.
Изучите функциональные возможности продукта и варианты его использования на нашем сайте.
■ Рекламаerid:2W5zFGGPNwJРекламодатель: ООО «ППГ»ИНН/ОГРН: 7729445882/1157746074518Сайт: https://postgrespro.ru/