Выбор ответа Middle Базы данных в эксплуатации обновлено

Асинхронная реплика и потеря данных

Вопрос

Мастер с асинхронной репликой внезапно умер, произошёл failover на реплику. Что может случиться с данными?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Потеряются подтверждённые транзакции, не дошедшие до реплики. При асинхронной репликации мастер подтверждает коммит, не дожидаясь реплики.

Варианты ответа

  1. Ничего: асинхронная реплика всегда содержит все закоммиченные транзакции
  2. Реплика откажется становиться мастером, пока не догонит мёртвый узел
  3. Потеряются все данные за последние сутки, до последнего бэкапа
  4. Потеряются подтверждённые транзакции, не дошедшие до репликиправильный ответ

Разбор

При асинхронной репликации мастер подтверждает коммит, не дожидаясь реплики. Если он умер, часть WAL могла не уехать, и после failover эти транзакции исчезнут, хотя клиент получил «успех». Синхронная репликация закрывает это ценой задержки записи. Реплика может стать мастером, а потеря обычно измеряется секундами, не сутками.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме