Назад к вопросам
Intern
13
Расскажи про CAP-теорему: в чём суть, примеры баз данных?
Компании, где спрашивали
Adapty
Ответ от нейросети
sobes.tech AI
CAP-теорема утверждает, что распределённая система не может одновременно гарантировать три свойства: Consistency (согласованность), Availability (доступность) и Partition tolerance (устойчивость к разделению сети). Можно выбрать максимум два из трёх:
- Consistency (Согласованность) — все узлы видят одни и те же данные в одно и то же время.
- Availability (Доступность) — каждый запрос получает ответ (успех или ошибка), без длительных задержек.
- Partition tolerance (Устойчивость к разделению) — система продолжает работать, даже если часть сети недоступна или сообщения теряются.
Примеры баз данных:
- CP (Consistency + Partition tolerance): HBase, MongoDB (в режиме с сильной согласованностью) — при разделении сети они могут жертвовать доступностью.
- AP (Availability + Partition tolerance): Cassandra, Couchbase — при разделении сети могут быть расхождения в данных, но система остаётся доступной.
- CA (Consistency + Availability): традиционные реляционные базы данных (например, MySQL) в однозвенной среде, где нет сетевых разделений.
В реальных распределённых системах всегда приходится балансировать между этими свойствами в зависимости от требований приложения.