Репликация и шардирование — это две разные стратегии в MongoDB, которые решают разные проблемы инфраструктуры.
Репликация включает создание точных копий одних и тех же данных на нескольких серверах, формируя набор реплик.
Основной сценарий использования: Высокая доступность и отказоустойчивость — твои данные остаются доступными, даже если сервер выходит из строя.
Шардирование включает разбиение данных между несколькими серверами (называемыми шардами), где каждый шард хранит отдельную часть набора данных.
mongos направляет запросы клиентов на нужный шардОсновной сценарий использования: Горизонтальное масштабирование — работа с данными, которые не помещаются на одном сервере, и распределение высоконагруженных операций.
| Репликация | Шардирование | |
|---|---|---|
| Данные | Дублируются на узлах | Разделены между узлами |
| Цель | Доступность и избыточность | Масштабируемость и производительность |
| Решает | Отказ сервера | Объём данных и пропускная способность |
В production эти две стратегии обычно комбинируются. Каждый шард в шардированном кластере может сам быть набором реплик — это даёт тебе одновременно горизонтальную масштабируемость и высокую доступность.
В MongoDB replica set записи распределяются по первичному и вторичным узлам для балансировки нагрузки на запись.
Новый — ещё не проверен сообществом
Вы