Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Репликация базы данных
Репликация базы данных — это процесс копирования и синхронизации данных из одной базы данных (основной или master) на одну или несколько других баз данных (подчинённые или slave/replica). Это критическая технология для обеспечения отказоустойчивости, масштабируемости и высокой доступности систем.
Основные типы репликации
1. Master-Slave (Master-Replica) репликация
Это наиболее распространённая архитектура:
- Master (основной сервер) — обрабатывает все операции записи (INSERT, UPDATE, DELETE)
- Slave (подчинённый сервер) — получает изменения и применяет их, используется только для чтения
Master (Write) → Log → Slave 1 (Read)
→ Slave 2 (Read)
→ Slave 3 (Read)
2. Master-Master (bi-directional) репликация
Оба сервера могут принимать записи и синхронизируют изменения друг с другом. Используется для активно-активных систем, но требует осторожности с конфликтами.
Механизм репликации в MySQL
Майор часть репликации основана на бинарном логе (binary log):
-- На Master
SET GLOBAL binlog_format = ROW; -- или STATEMENT, или MIXED
-- На Slave
CHANGE MASTER TO
MASTER_HOST=192.168.1.1,
MASTER_USER=replication_user,
MASTER_PASSWORD=password,
MASTER_LOG_FILE=mysql-bin.000001,
MASTER_LOG_POS=154;
START SLAVE;
Преимущества репликации
- Масштабируемость: распределение нагрузки на чтение на несколько slave серверов
- Отказоустойчивость: если master упадёт, можно promote slave в master
- Резервные копии: slave можно использовать для бэкапов без блокировки master
- Географическое распределение: данные копируются в удалённые регионы для минимизации задержки
Вызовы и ограничения
- Задержка репликации (replication lag): slave может быть позади master на несколько миллисекунд или секунд
- Конфликты данных: в master-master могут возникнуть несогласованности
- Пропускная способность: репликация создаёт дополнительный трафик сети
- Сложность отказоустойчивого переключения: требует автоматического механизма promotion
Современные решения
Для высокой доступности часто используют:
- MySQL Group Replication — встроенное решение для multi-master репликации
- Percona XtraDB Cluster — основана на Galera для синхронной репликации
- AWS RDS Multi-AZ — автоматическая репликация с failover