Репликация и что дальше

Финальный обзор: репликация для надёжности и масштаба — и карта дальнейшего пути.

Репликация — автоматическое копирование изменений с основного сервера (primary) на один или несколько серверов-реплик (replica).

Как работает репликация

Основной сервер (primary, исторически «master») записывает все изменения в специальный журнал — binary log. Реплики (replica, «slave») читают этот журнал и применяют те же изменения у себя. В результате на репликах появляется актуальная копия данных, обычно с небольшой задержкой.

Чаще всего репликация асинхронная: primary не ждёт подтверждения от реплик, поэтому реплика может на доли секунды отставать (replication lag).

Зачем это нужно

  • Отказоустойчивость: если primary упадёт, можно переключиться на реплику и продолжить работу.
  • Масштабирование чтения: тяжёлые SELECT (отчёты, аналитику) направляют на реплики, разгружая основной сервер. Записи при этом идут только в primary.
  • Резервные копии без нагрузки: mysqldump можно снимать с реплики, не трогая боевой primary.

Топологии

СхемаИдея
Primary → Replicaодна основная база, реплики для чтения и резерва
Primary → несколько Replicaгоризонтальное масштабирование чтения
Группы/кластерыавтоматическое переключение и согласованность (Group Replication, кластерные решения)

Это обзор: настройка репликации (бинлог, позиции, GTID, мониторинг лага) — отдельная большая тема администрирования.

Чему вы научились

Пройдя курс, вы умеете:

  • устанавливать MySQL, подключаться клиентом, заводить базы и пользователей;
  • осознанно выбирать типы данных и проектировать таблицы с ключами и ограничениями;
  • писать выборки с JOIN, агрегатами, подзапросами и UNION;
  • безопасно менять данные, применять upsert и транзакции, ускорять запросы индексами;
  • пользоваться представлениями, понимать процедуры и триггеры, управлять доступом и делать бэкапы.

Куда двигаться дальше

  • Производительность: глубже в EXPLAIN, профилирование медленных запросов (slow query log), настройка буферов InnoDB.
  • Партиционирование и шардирование для очень больших таблиц.
  • Высокая доступность: отказоустойчивые кластеры, автоматический failover.
  • Соседние СУБД: для сравнения посмотрите наш курс по PostgreSQL — многие идеи переносятся.

Итог

  • Репликация копирует изменения с primary на реплики через binary log.
  • Она даёт отказоустойчивость, масштабирование чтения и удобные бэкапы.
  • Записи идут в primary, тяжёлое чтение можно увести на реплики.
  • Дальше — производительность, масштабирование и высокая доступность.
Проверьте себя
1. Что копирует репликация с primary на реплики?
Aтолько структуру таблиц
Bизменения данных через binary log
Cфайлы конфигурации
Dпользовательские сессии
2. Зачем чаще всего используют реплики для чтения?
Aчтобы ускорить запись
Bчтобы разгрузить primary, направляя на реплики тяжёлые SELECT
Cчтобы удалять данные
Dчтобы уменьшить размер базы
3. Что такое replication lag?
Aобъём базы данных
Bнебольшое отставание реплики от primary при асинхронной репликации
Cошибка подключения
Dтип индекса
Поддержать проект