Денормализация: если положить dep_name в employee и убрать таблицу department — как безопасно провести эту миграцию в production под нагрузкой?

Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.

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

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

Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.

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

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

Используйте expand–migrate–contract: сначала добавьте dep_name, обеспечьте синхронизацию новых записей, выполните backfill порциями, проверьте данные и только потом переключайте чтение.

Нужно сохранить устойчивый ID отдела: одно имя не всегда уникально и может меняться. До удаления department убедитесь, что её самостоятельная сущность и связи больше не нужны. Учитывайте старые версии приложения, конкурентные обновления и откат. Удаление таблицы — последний отдельный этап после периода совместимости, а не часть первого релиза.

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

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

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

Подробнее