Репликация — это процесс копирования данных из одной базы данных (мастера) в одну или несколько других баз данных (реплик) в реальном времени или с небольшой задержкой.
Основные цели репликации:
- Повышение доступности. При отказе мастера, реплика может взять на себя нагрузку.
- Увеличение скорости чтения. Запросы на чтение распределяются между мастером и репликами.
- Резервное копирование. Реплика может использоваться как актуальная копия данных.
- Аналитика. Аналитические запросы могут выполняться на репликах, не нагружая мастер.
Типы репликации:
- Асинхронная. Мастер не ждет подтверждения от реплики о применении изменений. Возможна небольшая задержка данных.
- Синхронная. Мастер ожидает подтверждения от реплики. Гарантирует согласованность данных, но может замедлить запись на мастере.
- Полусинхронная. Компромисс между асинхронной и синхронной. Мастер ждет подтверждения от хотя бы одной реплики.
Пример конфигурации MySQL:
ini
Настройка реплики:
sql