Компания ОТР успешно выполнила одну из самых сложных задач импортозамещения — миграцию высоконагруженной государственной системы с Oracle на отечественную СУБД Postgres Pro. Объем переносимых данных составил 40 терабайт, а сама система используется тысячами пользователей ежедневно.
Миграция была похожа на «операцию на работающем сердце»: нельзя было позволить себе простои или потерю данных. Команда столкнулась с рядом серьёзных вызовов:
- Необходимость поэтапного переноса и синхронизации изменений (diff) в режиме реального времени.
- Проблемы сериализации транзакций в Oracle при обработке diff. NUMA-архитектура серверов, влияющая на стабильность PostgreSQL.
- Высокая нагрузка на механизмы Foreign Keys и HOT Update.
Процесс миграции был разделён на три этапа, включал тестовые прогоны, синхронизацию через WAL-логи и создание собственного механизма накатки изменений. В результате система заработала без остановки сервиса, а производительность даже выросла: tps увеличился с 1998 до 3760 за третью неделю работы на отечественной СУБД.
Опыт показал, что масштабные проекты требуют гибкости, глубокого понимания технологий и тесного взаимодействия между командами и экспертами. Созданный механизм обработки diff может быть использован и в других подобных задачах.
Больше деталей технической реализации и неочевидных решений — в нашем с Postgres разборе на Хабр!