English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Шarding - это процесс хранения записей данных на нескольких машинах, который является способом, с помощью которого MongoDB удовлетворяет потребностям роста данных. По мере увеличения объема данных одно устройство может быть недостаточным для хранения данных и не может обеспечить приемлемую производительность чтения и записи. Шarding решает проблему горизонтального масштабирования. Через шarding можно добавить больше компьютеров для поддержки роста данных и требований к операциям чтения и записи.
В процессе репликации все записи направляются на основной узел
Запросы, чувствительные к задержке, все еще направляются на основной узел
Ограничение одного репликационного набора составляет 12 узлов
Когда набор данных очень большой, память не может быть достаточно большой
Локальный диск не достаточно большой
Вертикальное масштабирование слишком дорогое
На следующей схеме показаны шарды в MongoDB, использующем шардовый кластер.
На следующей схеме показаны три основные компонента-
Шарды
−Шарды используются для хранения данных. Они обеспечивают высокую доступность и согласованность данных. В производственной среде каждый шард является отдельным реплика-сетом.
Конфигурационные серверы
−Конфигурационные серверы хранят метаданные кластера. Данные включают карту ассоциации между набором данных кластера и шардами. Запросные маршрутизаторы используют эти метаданные для направления операций к специфическим шартам. В производственной среде шардовый кластер имеет именно три конфигурационных сервера.
Запросные маршрутизаторы
−Запросные маршрутизаторы по сути являются экземплярами mongo, с которыми можно интерфейсировать клиентские приложения и напрямую направлять операции к соответствующим шардам. Запросные маршрутизаторы обрабатывают операции, определяют их местоположение в шардах и затем возвращают результаты клиенту. Шардовый кластер может содержать多个 запросных маршрутизаторов для разделения нагрузки запросов клиентов. Клиенты отправляют запросы к запросному маршрутизатору. Обычно, шардовый кластер имеет множество запросных маршрутизаторов.