Что добавляет PACELC к формулировке CAP?
- Что такое 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 и когда её достаточно?
Разбор темы
- CAP и согласованность
Точная формулировка CAP и типичные искажения, неизбежность разделения и выбор C/A по операции, спектр согласованности и сессионные гарантии, кворумы N/R/W и их пределы, PACELC и разрешение конфликтов.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.