Получить доступ

Что согласно CAP-теореме приходится выбирать во время сетевого разделения?

MiddleCAP и согласованность
Ещё спрашивают так:
  • Что выбрать при сетевом разделении — C или A?
Коротко

Во время разделения сети — согласованность или доступность: CP-система откажет, чтобы не отдать устаревшее; AP-система ответит из своей реплики, рискуя устаревшими данными.

  • P (разделение) не выбирают — оно случается
  • Выбор можно делать по типу данных: деньги — CP, лента — AP
  • Без разделения цена согласованности — задержка (PACELC)

А ещё Примеры CP: etcd, ZooKeeper; AP: Cassandra, DynamoDB по умолчанию

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Сетевые разделения в распределённой системе неизбежны, поэтому P нельзя «не выбрать». Реальный выбор возникает только во время разделения: CP-система предпочтёт вернуть ошибку, чем устаревшие данные; AP-система ответит из локальной реплики, рискуя отдать устаревшее.

Что хотят услышать

  • Выбор между C и A только во время разделения.
  • Поведение CP и AP систем с примерами.
  • Выбор по типу данных.

Частые ошибки

  • Думать, что можно отказаться от P.
  • Считать, что выбор C/A происходит постоянно, а не только при разделении.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Между согласованностью (C) и доступностью (A)
  • ✗Между производительностью и объёмом памяти
  • ✗Между нормализацией и денормализацией
  • ✗Между OLTP и OLAP

Что спросят дальше

  • Что добавляет PACELC к CAP?
  • Чем CP-система отличается от AP на примере?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем