Горизонтальное масштабирование MongoDB достигается с помощью шардирования — стратегии, при которой части коллекций размещаются на разных хостах кластера. 4
Процесс включает несколько ключевых элементов: 1
- Шардирование данных. 1 Данные коллекции распределяются по нескольким физическим узлам — шардам. 1 Каждый шар обычно представляет собой отдельный сервер MongoDB или кластер. 1
- Шард-ключ. 1 Выбирается поле или набор полей, которые служат ключом для распределения данных между шардами. 1 MongoDB автоматически маркирует документы и определяет, какой шар должен хранить каждый документ на основе значений шард-ключа. 1
- Координатор шардирования (mongos). 1 Это процесс, который предоставляет клиентам доступ к данным в распределённой среде. 1
Некоторые преимущества горизонтального масштабирования MongoDB:
- Увеличенная пропускная способность. 2 Распределение данных и нагрузки по нескольким серверам предотвращает превращение какого-либо отдельного сервера в узкое место. 2
- Высокая доступность. 2 Повышает отказоустойчивость за счёт обеспечения репликации данных на нескольких серверах. 2
- Повышение производительности. 2 Повышает производительность чтения и записи за счёт балансировки нагрузки между несколькими сегментами. 2
- Экономическая эффективность. 2 Позволяет использовать обычное оборудование для обработки больших наборов данных и высокого трафика. 2