Чем отличается синхронная репликация от асинхронной?
Уровень: Senior
Ответ
При синхронной репликации главная (primary) база ждет подтверждения от реплики о применении транзакции, прежде чем зафиксировать ее у себя. То есть все копии данных гарантированно обновлены к моменту COMMIT – высокая консистентность, но выше задержки (commit медленнее, зависит от сети). При асинхронной – основная база фиксирует транзакцию, не дожидаясь, пока реплика сохранит изменения; реплика получает их чуть позже. Это уменьшает задержку для пользователя и снижает зависимость от связи, но создает окно, в котором реплика отстает (в случае сбоя можно потерять изменения, еще не дошедшие до реплики). Выбор зависит от требований: синхронная – для полного сохранения консистентности (например, зеркалирование критичных систем), асинхронная – для распределения нагрузки с приемлемым лагом.