Мастер-слейв (Master-Slave) репликация БД

Мастер-слейв (Master-Slave) репликация — это метод репликации баз данных, в котором один сервер (мастер) является источником данных, и все остальные серверы (слейвы) копируют данные из мастера. Этот метод обеспечивает резервное копирование данных, повышает отказоустойчивость и может использоваться для распределения нагрузки чтения.

Вот основные преимущества и недостатки мастер-слейв репликации:

Преимущества:

  1. Отказоустойчивость для чтения: Если один из слейвов выходит из строя, приложение может продолжать получать данные с мастера или других слейвов.
  2. Резервное копирование: Слейвы могут служить в качестве резервных копий данных, что может быть полезно для восстановления после сбоев или ошибок.
  3. Распределение нагрузки: Запросы на чтение могут быть распределены между несколькими слейвами, что улучшает производительность системы.
  4. Улучшенная производительность: Поскольку слейвы могут обслуживать запросы на чтение, мастер освобождается от некоторых нагрузок.

Недостатки:

  1. Отсутствие отказоустойчивости для записи: Если мастер выходит из строя, записи становятся невозможными, и система может столкнуться с проблемой доступа к данным.
  2. Задержка репликации: Существует некоторая задержка между моментом изменения данных на мастере и их репликацией на слейвах.
  3. Сложности с обработкой транзакций: В случае отказа мастера, система может столкнуться с проблемой обработки транзакций.
  4. Сложности при масштабировании записей: Мастер может стать узким местом при масштабировании записей, так как все записи происходят на одном сервере.

Мастер-слейв репликация является популярным методом для обеспечения отказоустойчивости и повышения производительности в сценариях, где записи происходят преимущественно на одном сервере, а читаются с нескольких серверов.