В чем разница между шардированием и репликацией в MongoDB

Python Senior Без компании
В чем разница между шардированием и репликацией в MongoDB
Ответы
Шардирование (sharding) и репликация (replication) в MongoDB решают разные задачи: **Репликация** — это механизм дублирования данных на несколько серверов (реплик). Обеспечивает отказоустойчивость и высокую доступность. Включает один primary-узел (для записи) и несколько secondary-узлов (для чтения). **Шардирование** — это горизонтальное разделение данных между серверами (шардами) для распределения нагрузки. Каждый шард содержит часть данных. Позволяет масштабировать запись и чтение. Пример репликации: ``` // Конфигурация репликасета rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongo1:27017" }, { _id: 1, host: "mongo2:27017" }, { _id: 2, host: "mongo3:27017" } ] }) ``` Пример шардирования: ``` // Включение шардинга для коллекции sh.enableSharding("mydb") sh.shardCollection("mydb.mycol", { "user_id": 1 }) ``` **Итог:** - Репликация — резервирование данных (вертикальное масштабирование). - Шардирование — распределение данных (горизонтальное масштабирование).