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

Что добавляет PACELC к формулировке CAP?

SeniorCAP и согласованность
Ещё спрашивают так:
  • Что такое PACELC?
Коротко

CAP говорит только про сбой; PACELC добавляет: иначе (Else), без разделения, выбираем между задержкой (Latency) и согласованностью (Consistency).

  • Синхронная репликация и кворумы стоят задержки каждой операции
  • PA/EL — Cassandra, DynamoDB: доступность и низкая задержка
  • PC/EC — Spanner, системы на консенсусе: согласованность всегда

А ещё Компромисс задержки ощутим ежедневно, а разделения — редки

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

Подробно

Разделения сети происходят редко, поэтому CAP описывает исключительную ситуацию, а система живёт в обычном режиме. И в нём выбор никуда не девается: чтобы гарантировать строгую согласованность, запись должна дождаться подтверждения кворума реплик, а это время. Отсюда классификация: система может быть PC/EC (согласованность и при разделении, и в норме — так ведут себя строго согласованные хранилища) или PA/EL (доступность при разделении и низкая задержка в норме). Ценность формулировки в том, что она переводит разговор из плоскости теоремы в плоскость реального проектирования: сколько миллисекунд вы готовы платить за то, чтобы чтение всегда возвращало последнюю запись.

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

  • Формулировка PACELC.
  • Компромисс задержки и согласованности в нормальном режиме.
  • Примеры систем.

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

  • Обсуждать только поведение при разделении, забывая про постоянную цену согласованности.
  • Считать, что выбор делается один раз на всю систему, а не по типам операций.

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

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

Показать варианты и ответ
  • ✓Описание нормального режима: при разделении выбирают между доступностью и согласованностью, а в остальное время — между задержкой и согласованностью
  • ✗Четвёртое свойство — устойчивость к потере данных
  • ✗Утверждение, что при разделении всегда нужно выбирать доступность
  • ✗Правило выбора числа реплик для кворума

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

  • Как кворумы N/W/R позволяют настраивать этот компромисс?
  • Что такое read-your-writes и когда её достаточно?

Разбор темы

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

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

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

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

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