Sobes.tech
Back to questions
Intern
12

Расскажи про CAP-теорему: в чём суть, примеры баз данных?

Companies where asked
Adapty

Answer from AI

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) в однозвенной среде, где нет сетевых разделений.

В реальных распределённых системах всегда приходится балансировать между этими свойствами в зависимости от требований приложения.