Ответ
Репликация в БД позволяет повысить отказоустойчивость, распределить нагрузку и ускорить доступ к данным. Основные цели:
- Отказоустойчивость — если основная БД упадет, реплика может взять на себя её роль.
- Балансировка нагрузки — чтение можно распределить между репликами, разгрузив мастер.
- Геораспределение — реплики ближе к пользователям уменьшают задержки.
Пример настройки репликации в PostgreSQL:
-- На мастере
ALTER SYSTEM SET wal_level = 'replica';
ALTER SYSTEM SET max_wal_senders = 3;
-- На реплике
pg_basebackup -h master -D /var/lib/postgresql/12/main -U replicator -P -v -R