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

🔖 Справочник

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

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

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

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

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

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

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

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

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

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

Команды и операторы занятия

rs.status()

Показывает состояние replica set.

rs.status()

rs.initiate()

Инициализирует replica set в учебной среде.

rs.initiate()

rs.add()

Добавляет secondary узел.

rs.add("mongo2:27017")

rs.addArb()

Добавляет arbiter.

rs.addArb("mongo-arbiter:27017")

db.hello()

Показывает роль узла и информацию о primary.

db.hello()

readPreference

Управляет чтением с primary или secondary.

db.getMongo().setReadPref("secondaryPreferred")

Справочники курса

Локальный каталог MongoDB: справочник MongoDB. SQL-операторы предыдущих блоков: справочник SQL.