Building Evolutionary Architectures — выпуск 4
Участники выпуска
Что обсудили голосом
Четвёртый выпуск по Building Evolutionary Architectures посвящён эволюции данных. Участники спорят с идеей данных как неприкосновенного слоя: код и схема меняются вместе, устаревшие поля и записи приходится удалять, а каждое изменение должно допускать поэтапное внедрение и проверку.
Практическая миграция следует expand and contract: старые и новые версии временно читают и пишут совместимые форматы, затем данные переносятся и прежний путь выключается. Триггеры, backfill и rollback создают риски. Fitness functions проверяют ограничения, а явный владелец данных не даёт размножать несогласованные копии.
Советы database refactoring 2006 года сравнивают с JSON, schema-on-read и шардированием. Распределение ослабляет локальные ограничения, но усложняет целостность. Двухфазный commit усиливает связность, а saga и компенсации переносят восстановление в бизнес-логику и требуют координации.
В финале обсуждают distributed SQL и мечту о транзакционной базе, скрывающей масштабирование, а также model-driven подход с общей моделью данных. Облако автоматизирует многое, но on-premise сохраняет цену control plane, эксплуатации и инцидентов. Эволюция данных — это дисциплина изменений и наблюдаемого отката.