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

Что такое репликация данных?

JuniorCAP и согласованность
Ещё спрашивают так:
  • Зачем нужна репликация?
Коротко

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

  • Схемы: один лидер, несколько лидеров, без лидера
  • Синхронная — без потерь, но медленнее; асинхронная — быстрее, но реплики отстают
  • Реплики не масштабируют запись

А ещё Реплика — не бэкап: ошибочное удаление реплицируется

Подробно

Две задачи решаются разными приёмами, и их часто путают. Репликация даёт отказоустойчивость (узел упал — данные остались) и позволяет распределить чтение по копиям. Шардирование распределяет сами данные, чтобы масштабировать объём и запись. На практике их применяют вместе. Ключевой побочный эффект репликации — отставание копий: только что записанное значение может быть ещё не видно на реплике, и это нужно учитывать в сценариях.

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

  • Определение и цели.
  • Отличие от шардирования.
  • Синхронная и асинхронная.

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

  • Путать репликацию с шардированием.
  • Ожидать, что реплика мгновенно отражает запись.

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

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

Показать варианты и ответ
  • ✗Сжатие данных ради экономии места на дисках узлов
  • ✓Копии одних и тех же данных на нескольких узлах
  • ✗Разделение данных на непересекающиеся части, каждая из которых хранится на своём узле
  • ✗Перенос старых данных в отдельное архивное хранилище

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

  • Чем шардирование отличается от репликации по решаемой задаче?
  • Что такое отставание репликации и чем оно опасно?

Разбор темы

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

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

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

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

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