Как проектировать database migrations для zero downtime?

Senior
268 просмотров
AFK Offer AI

Zero downtime migration = новая версия приложения должна работать со старой и новой схемой одновременно. Стратегия добавления колонки: сначала ADD COLUMN nullable (обе версии работают), deploy новой версии (пишет в новую колонку), backfill данные, ADD NOT NULL constraint. Переименование: ADD new column, copy data, deploy использующий новую, DROP old. Никогда: не удалять колонку пока старая версия ещё может быть активна, не делать incompatible изменения типов без промежуточного шага.

Следующий вопрос

Как индексы влияют на производительность JPA запросов?