IT-словарь › Базы данных › Calvin (детерминированная БД)

Calvin (детерминированная БД)

Базы данных Svenska → Обновлено: 2026-10-18

Архитектура распределённых баз данных (статья 2012 года): сначала определяется глобальный порядок всех транзакций, затем они детерминированно выполняются на всех репликах. Раз все следуют одному порядку, двухфазный коммит между узлами не нужен.

Идея — перевернуть привычный порядок: вместо того чтобы выполнять транзакции, а затем согласовывать результат, все узлы СНАЧАЛА договариваются о последовательности (через «секвенсор» и консенсус), а потом выполняют транзакции строго в этом порядке. Поскольку выполнение детерминировано, все реплики приходят к одному результату без обмена сообщениями в ходе самого выполнения — нет распределённой координации коммита и распределённых взаимоблокировок. Цена: набор читаемых и записываемых данных транзакции должен быть известен заранее (трудно для интерактивных транзакций), а всё проходит через секвенсор. На идеях Calvin построена FaunaDB. Это альтернативная парадигма стилю Spanner/Percolator и пример того, как детерминизм заменяет дорогую координацию.

← Назад к словарю