Что такое Master в базах данных при репликации

«Что такое Master в базах данных при репликации» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Master в репликации БД — это основной сервер, который принимает все операции записи (INSERT, UPDATE, DELETE). Он асинхронно или синхронно копирует изменения на подчинённые серверы (replicas/slaves).

Пример настройки в MySQL:

-- На мастере
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';

-- На реплике
CHANGE MASTER TO
  MASTER_HOST='master_host',
  MASTER_USER='replica_user',
  MASTER_PASSWORD='password';
START SLAVE;

Нюансы:

  • Мастер — единая точка отказа (SPOF). Решение — кластеризация (например, Galera).
  • Задержки репликации (replication lag) могут привести к чтению устаревших данных с реплик.
  • В некоторых системах (PostgreSQL, MongoDB) мастер может меняться автоматически (failover).