В системе с N репликами при каком условии чтение гарантированно увидит последнюю подтверждённую запись?
- Что означает условие R + W > N?
- Как работают кворумы в Cassandra?
Если R + W > N, множества реплик для чтения и записи пересекаются — чтение застанет хотя бы одну реплику с последней подтверждённой записью.
- N = 3: W = 2, R = 2 — переживает отказ одного узла и сохраняет гарантию
- W = N, R = 1 — быстрое чтение, но запись ломается при любом отказе; W = 1, R = N — наоборот
- R + W ≤ N — согласованность в конечном счёте, это законный выбор
А ещё Кворум даёт свежесть, но не линеаризуемость
Подробно
Правило даёт удобную ручку настройки. Строгий вариант W=N и R=1 делает чтение мгновенным, но запись ломается при отказе любой реплики. Обратный, W=1 и R=N, ускоряет запись ценой чтения. Симметричный компромисс при трёх репликах — W=2 и R=2: система переживает потерю одного узла и сохраняет гарантию. Уменьшение суммы ниже порога переводит систему в режим согласованности в конечном счёте, что вполне законно, если приложение к этому готово. Стоит проговорить и границы правила: оно про пересечение множеств, а не про полную защиту — при конкурентных записях всё равно нужны версии и разрешение конфликтов, а при сетевом разделении кворум может не собраться вовсе.
Что хотят услышать
- Условие пересечения и почему оно работает.
- Варианты настроек и их компромиссы.
- Ограничение: это не линеаризуемость.
Частые ошибки
- Считать кворум заменой механизму разрешения конфликтов.
- Ставить W=N в системе, где важна доступность записи.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Когда W = R, то есть кворумы записи и чтения одинакового размера
- ✗Когда W = 1 и R = 1 — так ответ приходит быстрее всего
- ✓W + R > N — узлы записи и чтения пересекаются
- ✗W + R = N — каждый узел участвует либо в записи, либо в чтении
Что спросят дальше
- Как разрешают конфликты при конкурентных записях?
- Что произойдёт с кворумом при сетевом разделении?
Разбор темы
- CAP и согласованность
Точная формулировка CAP и типичные искажения, неизбежность разделения и выбор C/A по операции, спектр согласованности и сессионные гарантии, кворумы N/R/W и их пределы, PACELC и разрешение конфликтов.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.