Для чего нужна репликация в БД

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

Ответ

Репликация в БД позволяет повысить отказоустойчивость, распределить нагрузку и ускорить доступ к данным. Основные цели:

  1. Отказоустойчивость — если основная БД упадет, реплика может взять на себя её роль.
  2. Балансировка нагрузки — чтение можно распределить между репликами, разгрузив мастер.
  3. Геораспределение — реплики ближе к пользователям уменьшают задержки.

Пример настройки репликации в 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