Репликация базы данных — это процесс копирования и синхронизации данных из основной базы данных в одну или несколько реплик. Её основные цели — улучшить доступность, надёжность и производительность чтения в распределённых системах.
Основное противоречие при проектировании репликации — это выбор между консистентностью и производительностью:
Синхронная репликация гарантирует отсутствие потери данных, но добавляет задержку записиАсинхронная репликация улучшает пропускную способность, но грозит отставанием репликации и возможной потерей данных при сбоеВыбор стратегии репликации зависит от приоритетов твоей системы. Приложения с интенсивным чтением выигрывают от master-slave с асинхронной репликацией. Системы, требующие нулевых потерь данных, должны склоняться к синхронной репликации, несмотря на снижение производительности.
Синхронная репликация гарантирует отсутствие потери данных, но вводит задержку записи, потому что primary должен дождаться подтверждения от replicas перед ответом клиентам.
Новый — ещё не проверен сообществом
Вы