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

Что означает eventual consistency?

MiddleCAP и согласованность
Ещё спрашивают так:
  • Где допустима итоговая согласованность?
Коротко

Реплики со временем сойдутся, если записи прекратятся; сразу после записи разные читатели могут видеть разное. Компромисс ради доступности и скорости.

  • Подходит: ленты, счётчики, поиск, рекомендации, кэши
  • Не подходит: деньги, остатки, уникальность, бронирования
  • Смягчают гарантиями сессии: read-your-writes, монотонные чтения

А ещё Окно расхождения не гарантировано — под нагрузкой бывают секунды

Подробно

Это компромисс ради доступности и скорости: система всегда отвечает, но свежесть данных не гарантируется немедленно. Для лент и счётчиков обычно приемлемо, для денег — часто нет. Промежуточные гарантии (read-your-writes, monotonic reads) смягчают неудобства.

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

  • Определение через сходимость.
  • Где допустима и где нет.
  • Промежуточные гарантии.

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

  • Путать eventual consistency с полным отсутствием согласованности.
  • Применять её там, где нужна строгая корректность.

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

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

Показать варианты и ответ
  • ✓Реплики со временем сходятся, но сразу после записи могут расходиться
  • ✗Запись подтверждается клиенту только после синхронной фиксации на всех репликах
  • ✗Данные никогда не приходят к согласованному состоянию
  • ✗Транзакция выполняется целиком или не выполняется вовсе

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

  • Что такое read-your-writes consistency?
  • Как кворумы влияют на согласованность?

Разбор темы

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

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

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

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

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