Что такое репликация

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

Ответ

«Репликация базы данных — это технология, позволяющая создавать и поддерживать несколько копий данных на разных серверах для обеспечения отказоустойчивости, доступности, масштабируемости системы.
Топологии (архитектурные модели):
Master-Реplica: Все операции записи идут на один мастер-сервер, а чтение можно распределять по нескольким репликам.
Master-Master: Каждый узел может принимать записи. Это сложнее в реализации и поддержании консистентности, но обеспечивает лучшую отказоустойчивость и географическое распределение.
Типы репликации:
Синхронная,Асинхронная.
Репликация — это функция СУБД (как PostgreSQL, MySQL, MongoDB), Go-приложение должно корректно с ней взаимодействовать.

Для этого используются драйверы и библиотеки (например, pgx для PostgreSQL), которые поддерживают подключение к кластеру с репликацией.

Для работы с репликацией на уровне логики приложения в Go часто используются паттерны вроде Repository, которые абстрагируют источник данных и позволяют легко разделять запросы на чтение и запись.