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

CAP-теорема

CAP Theorem

При сетевом разделении распределенная система не может одновременно гарантировать строгую согласованность и доступность.

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

Представьте два узла базы, между которыми пропала связь. Чтобы не показать противоречивые данные, один из них может временно перестать отвечать; если оба продолжают обслуживать запросы, их ответы могут разойтись. CAP-теорема напоминает, что при таком разрыве сети приходится заранее выбрать, какой из этих рисков допустим для конкретной операции.

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

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

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

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

Обещать одновременную полную доступность и строгую согласованность при partition.

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

Явно выбирать поведение для каждого типа данных и операции.

Ограничения

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

Источник

Eric Brewer, 2000; формализация Seth Gilbert и Nancy Lynch, 2002.

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