Как организовать процесс миграции базы данных, чтобы не прерывать работу сервиса (zero downtime)?

Применяйте expand–migrate–contract: сначала совместимое расширение схемы, затем перенос данных и клиентов, и только потом удаление старого. Старые и новые версии должны временно работать вместе.

Короткий ответ

Что ответить на собеседовании

Применяйте expand–migrate–contract: сначала совместимое расширение схемы, затем перенос данных и клиентов, и только потом удаление старого. Старые и новые версии должны временно работать вместе.

Подробный разбор

Ответ с пояснениями

Применяйте expand–migrate–contract: сначала совместимое расширение схемы, затем перенос данных и клиентов, и только потом удаление старого. Старые и новые версии должны временно работать вместе.

Большие backfill выполняйте порциями с контролем нагрузки и повторяемостью. Проверьте блокировки DDL, индексы, ограничения и длительность транзакций на подходящем объёме данных. Для переключения нужны верификация и rollback. Zero downtime нельзя обещать лишь по наличию migration-файла: возможности онлайн-операций зависят от СУБД.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее