Шардирование — это процесс распределения данных по нескольким машинам, называемым шардами, для обеспечения горизонтального масштабирования. Вместо того чтобы обновлять один сервер, MongoDB делит данные на более мелкие управляемые части, разбросанные по множеству серверов.
Кластер MongoDB с шардированием состоит из трёх ключевых компонентов:
MongoDB распределяет данные с помощью ключа шардирования — поля, которое ты выбираешь и которое определяет, как документы делятся между шардами. Например, использование userId в качестве ключа шардирования направит данные каждого пользователя на конкретный шард.
{ shardKey: "userId" }
Шардирование необходимо для приложений, которые переросли пределы вертикального масштабирования. Выбор правильного ключа шардирования критичен — неудачный выбор может привести к неравномерному распределению данных, известному как hotspot, что полностью нивелирует преимущества в производительности.
MongoDB использует shard key для определения того, какой shard будет хранить конкретный документ, и этот ключ можно динамически изменять без перераспределения данных по кластеру.
Новый — ещё не проверен сообществом
Вы