Sobes.tech
Назад к вопросам
Senior
4

Что такое CAP-теорема?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

CAP-теорема — это фундаментальная концепция распределённых систем, сформулированная Эриком Брюером. Она утверждает, что в распределённой системе невозможно одновременно гарантировать все три свойства:

  • Consistency (Согласованность): Все узлы видят одни и те же данные в одно и то же время.
  • Availability (Доступность): Каждый запрос получает ответ (успешный или с ошибкой) без длительного ожидания.
  • Partition tolerance (Устойчивость к разделению): Система продолжает работать при разделении сети (когда узлы не могут обмениваться сообщениями).

В условиях сетевого разделения (partition) система должна выбирать между согласованностью и доступностью:

  • Если выбирается согласованность, то часть запросов может быть недоступна, чтобы не допустить рассогласования данных.
  • Если выбирается доступность, то данные могут быть временно рассогласованы.

Пример: в базе данных NoSQL часто выбирают доступность и устойчивость к разделению, жертвуя строгой согласованностью.

CAP-теорема помогает проектировать системы, понимая компромиссы между этими тремя свойствами.