РИТ++ 2017 завершён!

Миграция БД >10Тб с DB2 на PostgreSQL без простоя БД (почти) Технологический стек

Доклад принят в программу конференции
Дмитрий Погибенко
ФГБУ НИИ "Восход"

Я закончил Казанский национальный исследовательский технический университет имени А.Н. Туполева, кафедру систем информационной безопасности. Разрабатывал информационные системы для торговых сетей, системы контроля доступа и проверки билетов на спортивных объектах, банковские системы, принимал участие в проекте УЭК. С 2015 года работаю в НИИ "Восход". Разработал систему для миграции БД на основе Spring Batch. С ее помощью была успешно осуществлена миграция БД размером 10+Тб из DB2 в PostgreSQL с минимальным временем простоя.

Тезисы

Вводные:
1) Необходимо переносить данные с минимальным простоем БД.
2) Необходимо произвести трансформацию данных из-за отличий между DB2 и PG и перемещением BLOB'ов в Ceph.
3) Перенос должен быть произведен за приемлемое время.
4) Нужно учесть зависимости между таблицами.

Технологии:
1) Отслеживание изменений с помощью триггеров.
2) Анализ зависимостей с помощью доработанного SchemaSpy.
3) Перенос с помощью Spring Batch.
4) Разбиение на партиции (два подхода: деление диапазона id между min и max на равные части; деление на диапазоны с равным числом строк).

Миграции данных
,
Java
,
PostgreSQL
,
Базы данных / другое

Другие доклады секции Технологический стек