Вопрос проверяет понимание базовых механизмов отказоустойчивости и масштабирования баз данных.
Репликация — это копирование данных с основного сервера на один или несколько дополнительных. Она используется для повышения отказоустойчивости и масштабирования чтения. При отказе основного сервера одна из реплик может стать новым мастером. Также реплики разгружают основной сервер при чтении.
Репликация — это механизм поддержания нескольких копий данных.
Процесс обычно выглядит так:
мастер принимает записи
изменения передаются репликам
реплики применяют изменения
В Postgres это может происходить через WAL.
Основные цели:
отказоустойчивость
масштабирование чтения
резервное копирование
На практике используются:
синхронная
асинхронная
Синхронная повышает надежность, но увеличивает задержку записи.
Application -> Master
|
Replica
Replica
Чтение может идти с реплик, запись — в мастер.
Репликация позволяет повысить отказоустойчивость и масштабируемость базы данных за счет поддержания нескольких копий данных.