digital-garden/_inbox/CAP теорема.md

2.6 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2024-03-12
00 HighLoad

CAP теорема — это принцип, описывающий фундаментальные ограничения, с которыми сталкиваются распределённые вычислительные системы в контексте обеспечения следующих трёх свойств:

  • Согласованность (Consistency): Каждый раз, когда данные читаются, возвращается самое последнее записанное значение или ошибка. С другими словами, операции с данными выглядят так, будто выполняются в некоторой строгой последовательности, одна за другой
  • Доступность (Availability): Каждый запрос на получение или запись данных получает ответ, независимо от состояния системы, даже если некоторые части системы вышли из строя.
  • Устойчивость к разделению (Partition Tolerance): Система продолжает функционировать, даже если произошло "разделение" — потеря связи между узлами в распределённой сети. То есть система способна переносить произвольное число сообщений, которые задерживаются или теряются в сети.

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

Google заявляет, что их продукт Google Spanner якобы нарушает CAP теорему.