Миграция из Oracle на скорости 41 ТБ в сутки: новый инструмент ProGate от Postgres Professional
Миграция с крупных зарубежных СУБД на российские решения остается одной из самых трудозатратных задач для корпоративного ИТ. Основная проблема — передать десятки терабайт данных с приемлемой скоростью, без длительных остановок и без потери консистентности. На практике компании упираются в ограничение производительности, сложности отслеживания изменений и необходимость вручную контролировать качество переноса.
Содержание |
На CNews Forum компания Postgres Professional представила ProGate — комплексное решение, которое закрывает все этапы миграции данных: от быстрой начальной загрузки до непрерывной репликации и проверки качества. После пилотов в банках, госсекторе и промышленности ProGate уже показал, что способен переносить данные по маршруту Oracle Database → Postgres Pro со скоростью до 41 ТБ/сутки и обеспечивать синхронизацию изменений в реальном времени.
Что такое ProGate?
Это комплексное решение для миграции и репликации данных. Оно состоит из нескольких специализированных утилит, которые покрывают все этапы миграции:
- ProCopy — быстрая первоначальная загрузка данных;
- ProSync — непрерывная синхронизация изменений (Change Data Capture — CDC);
- ProCheck — контроль качества и целостности данных после миграции.
Решение охватывает не только миграцию в Postgres Pro/PostgreSQL, в том числе из legacy-СУБД, но и регулярную репликацию, доставку данных в сторонние аналитические хранилища, включая форматы parquet и будущую интеграцию с OLAP-системами. Давайте подробнее рассмотрим каждую из утилит.
Этап 1. Первоначальная загрузка данных с помощью ProCopy
ProCopy — это консольная утилита для быстрой первоначальной загрузки данных, например в Postgres Pro. Ее задача — максимально быстро перенести большой объем данных в т.ч. на «горячей» базе данных, чтобы минимизировать время простоя или задержку в работе приложений. В последних синтетических тестах удалось достичь производительности в 200–500 МБ/секунду, или до 41 ТБ/сутки по маршруту Oracle Database → Postgres Pro. А для маршрута PostgreSQL → Postgres Pro примерно 1 ГБ/сек.
На текущий момент ProCopy поддерживает загрузку данных из Oracle Database, 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. Это позволяет обеспечить короткий downtime при миграции. Также решение работает как отдельный инструмент репликации.
Как это работает?
Когда в базе данных 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-запросов.
Как это работает?
ProCheck сравнивает таблицы, строки и столбцы между двумя базами данных. Он выявляет любые расхождения, ошибки преобразования, потери данных и предоставляет подробный отчет.
Пример использования
После завершения миграции нужно проверить, совпадают ли финансовые балансы в Oracle Database и в новой системе на Postgres Pro. ProCheck автоматически проверит каждую запись и подтвердит, что все данные перенесены корректно.
Использование ProGate наиболее эффективно при миграции крупных баз данных размером от терабайта и выше, необходимости минимального простоя и горячей миграции, строгих требованиях к качеству и консистентности данных, а также при построении регулярной выгрузки данных в аналитические хранилища и OLAP-системы.
Возможные ограничения ProGate
Несмотря на преимущества, важно учитывать возможные ограничения. Изменения схемы во время миграции могут потребовать ручного вмешательства, пользовательские типы данных — индивидуальной настройки или ручной обработки, а таблицы без первичных ключей могут осложнить использование ProSync, которому для корректной работы желательно наличие уникальных ключей.
Релиз ProGate, представленный на CNews Forum, стал серьезным шагом в развитии инструментов миграции на российском рынке. Компании получили готовое решение, которое сочетает высокую скорость переноса, надежную CDC-репликацию и проверку качества данных.
С появлением ProGate переход с Oracle Database и других СУБД на Postgres Pro стал технологически проще: снизились риски, сократилось время миграции, появилось больше сценариев для построения интеграционных и аналитических контуров. Это заметно сокращает затраты бизнеса на модернизацию инфраструктуры и ускоряет переход на отечественные стеки.
Подробно ознакомиться с возможностями продукта и сценариями его применения можно на сайте.


