Глава 21 · Часть 4

Expand-Contract Pattern

A focused chapter on expand-contract pattern, with practical delivery concerns, trade-offs, and the operational questions behind CI/CD work.

21-1

Почему нельзя просто удалить столбец в базе данных

Разбираем, почему удаление столбца в production-базе данных почти всегда приводит к сбоям. Объясняем паттерн expand-contract и даём чек-лист безопасного удаления схемы.

5 мин.
21-2

Добавление новых структур базы данных без остановки работающих приложений

Безопасное добавление новых колонок и таблиц в БД без даунтайма. Паттерн Expand-Contract: пошаговое руководство для инженеров и DevOps.

5 мин.
21-3

Две версии приложения и одна база данных: переход через Dual-Write и Dual-Read

Как безопасно мигрировать схему БД без даунтайма. Разбираем паттерны Dual-Write и Dual-Read для постепенного перехода между версиями приложения.

6 мин.
21-4

Когда старые данные встречают новую схему: обратное заполнение и верификация устаревших записей

Практическое руководство по безопасному обратному заполнению (backfill) и верификации данных при миграции схемы БД. Базовая обработка, проверка корректности и пошаговый чек-лист для инженеров.

5 мин.
21-5

Когда миграция базы данных требует чистого разрыва: фаза переключения

Фаза cutover — критический момент миграции БД, когда приложение перестаёт читать из старой схемы. Разбираем риски, стратегии (big bang vs gradual), скрытые зависимости и чек-лист для безопасного переключения.

5 мин.
21-6

Когда можно безопасно удалять старые колонки в БД? Фаза Contract в паттерне Expand-Contract

Разбираем финальную фазу паттерна expand-contract: как безопасно удалять устаревшие колонки и таблицы, выявлять скрытые зависимости и избегать инцидентов в production.

4 мин.
21-7

Переименование столбцов, разделение таблиц и изменение ограничений без простоев

Пошаговое руководство по безопасному изменению схемы базы данных в production: переименование столбцов, разделение таблиц и изменение ограничений с нулевым временем простоя с использованием паттерна expand-contract.

6 мин.