Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.
Денормализация: если положить dep_name в employee и убрать таблицу department — как безопасно провести эту миграцию в production под нагрузкой?
Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.
Нужно сохранить устойчивый ID отдела: одно имя не всегда уникально и может меняться. До удаления department убедитесь, что её самостоятельная сущность и связи больше не нужны. Учитывайте старые версии приложения, конкурентные обновления и откат. Удаление таблицы — последний отдельный этап после периода совместимости, а не часть первого релиза.