Выбор ответа Middle Базы данных в эксплуатации обновлено
Асинхронная реплика и потеря данных
Вопрос
Мастер с асинхронной репликой внезапно умер, произошёл failover на реплику. Что может случиться с данными?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Потеряются подтверждённые транзакции, не дошедшие до реплики. При асинхронной репликации мастер подтверждает коммит, не дожидаясь реплики.
Варианты ответа
- Ничего: асинхронная реплика всегда содержит все закоммиченные транзакции
- Реплика откажется становиться мастером, пока не догонит мёртвый узел
- Потеряются все данные за последние сутки, до последнего бэкапа
- Потеряются подтверждённые транзакции, не дошедшие до репликиправильный ответ
Разбор
При асинхронной репликации мастер подтверждает коммит, не дожидаясь реплики. Если он умер, часть WAL могла не уехать, и после failover эти транзакции исчезнут, хотя клиент получил «успех». Синхронная репликация закрывает это ценой задержки записи. Реплика может стать мастером, а потеря обычно измеряется секундами, не сутками.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.