SYSTEM ATLASЗагрузка материала

Two-Phase Commit

Two-Phase Commit

Координатор сначала готовит участников, затем подтверждает транзакцию.

Простыми словами

Протокол распределённой транзакции с фазой подготовки и фазой commit/rollback, координируемой одним участником. Например, интернет-магазин одновременно принимает заказ, меняет остаток товара и показывает каталог другим покупателям. Поэтому заранее определяют правила чтения, записи и восстановления - иначе параллельные операции могут оставить данные в состоянии, которого бизнес не ожидал.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Two-Phase Commit», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Two-Phase Commit» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«Two-Phase Commit» объясняет только часть происходящего в области «Базы данных и данные». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Jim Gray. Notes on Data Base Operating Systems. 1978. DOI 10.1007/3-540-08755-9_9.

Первоисточник