← К оглавлению занятия

📖 Теория

📁 Блок: MongoDB / репликация ⏱️ Время изучения: ~90 мин 🎯 Сложность: Продвинутая

⚡ Кратко: суть занятия

Репликация в MongoDB — способ повысить надёжность и отказоустойчивость базы данных.

Простая идея: есть несколько копий данных, которые автоматически поддерживаются в синхронизации.

Цели репликации: отказоустойчивость и повышение производительности чтения.

Replica set — группа экземпляров mongod с одним набором данных.

Primary принимает записи, secondary хранят копии и могут помогать с чтением.

Синхронная репликация даёт более актуальные копии, но добавляет задержку.

Асинхронная репликация быстрее для записи, но secondary могут отставать.

Arbiter не хранит данные и участвует в выборах primary при сбое.

Разбор темы

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

Источник определяет репликацию как способ обеспечения надёжности и отказоустойчивости базы данных через копии данных.

Отказоустойчивость

Если primary недоступен, система может выбрать другой узел и продолжить работу с данными.

Производительность чтения

Когда приложение больше читает, чем пишет, нагрузку на чтение можно распределять между репликами.

Replica set

Набор реплик — группа экземпляров mongod, которые работают с одним и тем же набором данных.

Primary и secondary

Primary принимает запись; secondary копируют данные primary и могут использоваться для чтения в подходящих настройках.

Синхронная репликация

Данные дублируются в реальном времени, поэтому копии актуальны, но запись может ждать подтверждений.

Асинхронная репликация

Primary подтверждает запись клиенту, а передача изменений secondary идёт в фоне.

Arbiter

Арбитр не содержит данных и не может стать primary, но помогает избежать проблем при выборах в чётном числе узлов.

Проверить по документации: часть практических деталей может зависеть от версии MongoDB, Atlas или Compass. Перед занятием сверяйте интерфейс и команды с официальной документацией.