Вопрос с собеседования · Базы данных

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

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

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

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

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

Подробно

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

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

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

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

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

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

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

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

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

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

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

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

Разбор собеседования