☀Объяснение:
Что такое CAP-теорема?
В 2000 году Эрик Брюер сформулировал, что в распределённой системе невозможно одновременно гарантировать три свойства:
Consistency (C) – все узлы видят одни и те же данные в один момент времени (нет устаревших копий).
Availability (A) – каждый запрос получает ответ (даже если некоторые узлы недоступны).
Partition tolerance (P) – система продолжает работать при разрыве связи между узлами (сетевом разделении).
При возникновении сетевого разделения система вынуждена выбирать между C и A:
CP‑система (например, HBase, MongoDB с настройкой по умолчанию) жертвует доступностью: при разделении блокирует запись, чтобы не нарушить согласованность.
AP‑система (например, Cassandra, CouchDB) жертвует строгой согласованностью: возвращает данные, которые могут быть устаревшими, но система остаётся доступной.
Почему это важно для аналитика?
При выборе базы данных для распределённой системы (например, банковской или социальной сети) вы должны понимать, что невозможно получить и строгую согласованность, и абсолютную доступность при любых сбоях.
Финансовые транзакции – приоритет согласованности (CP). Даже если система временно недоступна, деньги не должны потеряться.
Лента новостей – приоритет доступности (AP). Лучше показать слегка устаревшие новости, чем вообще не открыть приложение.
Реальный кейс:
В Amazon при оформлении заказа применяется строгая согласованность (CP), а при просмотре каталога — eventual consistency (AP). CAP-теорема помогает объяснить такие архитектурные компромиссы заказчику.
Вывод:
Аналитик, знающий CAP-теорему, может аргументированно выбирать хранилище данных под бизнес-требования, понимая неизбежные компромиссы.
Post #11973
450