Управление шардами
Вы можете включить шардирование для кластера, а также добавлять и настраивать отдельные шарды.
Внимание
После того, как шардирование кластера включено:
- Выключить шардирование невозможно, в кластере всегда будет поддерживаться минимальное количество хостов
MONGOS
,MONGOCFG
илиMONGOINFRA
в зависимости от типа шардирования. - Обращаться к базам данных следует только через хосты
MONGOS
илиMONGOINFRA
, которые маршрутизируют запросы к шардам. Измените адреса хостов в коде ваших приложений соответствующим образом.
Для повышения доступности шарды должны состоять как минимум из 3 хостов. Небольшие коллекции обычно нет смысла шардировать: скорость обработки запросов будет выше в обычном кластере реплик.
Включить шардирование
Через интерфейс Managed Service for MongoDB вы можете быстро создать инфраструктуру шардирования MongoDB.
О том, как непосредственно шардировать базу и коллекции MongoDB, читайте в разделе Шардирование коллекций MongoDB.
Примечание
Шардирование не поддерживается для хостов с классами b1.nano, b1.micro, b1.medium, b2.nano, b2.micro и b2.medium. Если у вас нет вкладки Шарды, повысьте класс хостов кластера до поддерживаемого.
-
Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
-
Нажмите на имя нужного кластера, затем выберите вкладку Шарды.
-
Нажмите кнопку Включить.
-
Выберите один из типов шардирования:
-
Стандартный — с использованием хостов
MONGOINFRA
.
Чтобы обеспечить бесперебойный доступ к данным, Managed Service for MongoDB требует не менее трех хостовMONGOINFRA
. -
Расширенный — с использованием хостов
MONGOS
иMONGOCFG
.
Чтобы обеспечить бесперебойный доступ к данным, Managed Service for MongoDB требует не менее двух хостовMONGOS
и не менее трех хостовMONGOCFG
.Подробнее см. в разделе Шардирование в Managed Service for MongoDB.
Важно
После включения шардирования будет невозможно поменять его тип.
-
-
Задайте параметры хостов, которые будут обеспечивать доступ к шардированным данным.
-
Нажмите кнопку Включить шардирование.
Кластер начнет обновляться, при этом будут созданы запрошенные хосты, а также первый шард кластера.
Включить шардирование кластера можно с помощью метода enableSharding.
Получить список шардов в кластере
-
Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
-
Нажмите на имя нужного кластера, затем выберите вкладку Шарды.
Получить список шардов кластера можно с помощью метода listShards.
Добавить шард
Количество шардов в кластерах Managed Service for MongoDB ограничено квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Yandex Managed Service for MongoDB.
- Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
- Нажмите на имя нужного кластера и перейдите на вкладку Хосты.
- Нажмите кнопку Добавить шард.
- Укажите имя шарда и добавьте нужное количество хостов.
- Нажмите кнопку Создать шард.
Добавить хост в кластер можно с помощью метода addShard.
Удалить шард
Вы можете удалить шард из MongoDB-кластера, если он не является единственным шардом. Чтобы заменить единственный шард, сначала создайте новый шард, а затем удалите старый.
Примечание
Для удаляемого шарда будет вызвана операция removeShard, которая безопасно переносит данные на оставшиеся шарды.
- Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
- Нажмите на имя нужного кластера и выберите вкладку Шарды.
- Нажмите значок в строке нужного хоста и выберите пункт Удалить.
- В открывшемся окне нажмите кнопку Удалить.
Удалить хост можно с помощью метода deleteShard.