Вопрос проверяет понимание ролей primary (master) и replica в архитектуре репликации баз данных.
Master — это основной узел базы данных, который принимает операции записи. Replica — это копия master, предназначенная в основном для чтения. Replica получает изменения от master асинхронно или синхронно. На replica обычно нельзя выполнять запись. Такое разделение позволяет масштабировать чтение и повышать отказоустойчивость.
Master (Primary) — основной экземпляр БД, принимающий все операции записи.
Replica (Secondary) — экземпляр БД, который копирует данные с master и обычно обслуживает запросы на чтение.
Master и replica различаются по нескольким ключевым аспектам:
Master принимает INSERT, UPDATE, DELETE
Replica синхронизируется через журнал транзакций
Replica, как правило, работает в режиме read-only
Типичный сценарий выглядит так:
Клиент пишет данные в master
Изменения фиксируются в WAL
Replica читает WAL и применяет изменения
Такую схему используют для:
распределения нагрузки на чтение
повышения доступности
подготовки резервного узла для failover
Важно учитывать:
возможную задержку данных на replica
необходимость ручного или автоматического переключения ролей
Master отвечает за запись и целостность данных, а replica — за масштабирование чтения и резервирование.