[Документация Yandex Cloud](../../index.md) > [Yandex StoreDoc](../index.md) > [Концепции](index.md) > Типы хостов

# Типы хостов в Yandex StoreDoc

В Yandex StoreDoc есть четыре типа хостов: `MONGOD`, `MONGOINFRA`, `MONGOCFG` и `MONGOS`. Каждый тип хостов имеет собственную [роль и функции](#features) в кластере. [Тип и количество хостов](#configuration) в кластере Yandex StoreDoc зависит от выбранного типа шардирования.

## Роли и функции хостов разных типов {#features}

* `MONGOD` — хосты обработки запросов и хранения данных. Эти хосты присутствуют как в шардированных, так и в нешардированных кластерах. 

  Основные функции хостов `MONGOD`:
  * обработка запросов чтения и записи;
  * хранение пользовательских данных;
  * реплицирование данных;
  * сохранение консистентности данных.

* `MONGOCFG` — хосты конфигурации шардирования. Эти хосты присутствуют только в кластерах с расширенным шардированием.

  Основные функции хостов `MONGOCFG`:
  * хранение метаданных шардирования и их обновление при изменении состава шардов;
  * предоставление хостам `MONGOS` актуальной информации о чанках и шардах;
  * координация процесса миграции чанков между шардами.

* `MONGOS` — хосты маршрутизации. Эти хосты присутствуют только в кластерах с расширенным шардированием.

  Основные функции хостов `MONGOS`:
  * прием клиентских подключений;
  * маршрутизация запросов к шардам;
  * обработка результатов выполнения запросов или подзапросов;
  * выдача итогового результата клиенту.

* `MONGOINFRA` — инфраструктурные хосты. Этот тип хостов совмещает в себе роли `MONGOS` и `MONGOCFG`. Хосты `MONGOINFRA` присутствуют только в кластерах со стандартным шардированием.

  Основные функции хостов `MONGOINFRA`:
  * прием клиентских подключений;
  * маршрутизация запросов к шардам;
  * хранение метаданных шардирования и их обновление при изменении состава шардов;
  * координация процесса миграции чанков между шардами;
  * обработка результатов выполнения запросов или подзапросов;
  * выдача итогового результата клиенту.

## Состав кластера в зависимости от типа шардирования {#configuration}

Количество хостов разных типов в кластере Yandex StoreDoc зависит от используемого [типа шардирования](sharding.md#shard-management):

Тип шардирования | MONGOD | MONGOINFRA | MONGOS | MONGOCFG
--- | --- | --- | --- | ---
Без шардирования | ⩾ 1 | — | — | —
Стандартный | ⩾ 1 | ⩾ 3 | — | —
Расширенный | ⩾ 1 | — | ⩾ 2 | ⩾ 3

Нешардированный кластер состоит только из хостов `MONGOD`, которые обрабатывают клиентские запросы. За маршрутизацию запросов отвечает [клиент Yandex StoreDoc](supported-clients.md).

Кластер со стандартным шардированием состоит из хостов `MONGOD` и `MONGOINFRA`.
Обработка клиентских запросов к кластеру происходит следующим образом:
1. Клиент Yandex StoreDoc соединяется со всеми хостами `MONGOINFRA` и отправляет запрос одному из них.
1. Хост `MONGOINFRA` анализирует запрос и определяет, какие шарды он затрагивает.
1. Хост `MONGOINFRA` направляет запрос или набор подзапросов на соответствующие хосты `MONGOD`.
1. Хосты `MONGOD` выполняют полученный запрос или подзапросы.
1. Хост `MONGOINFRA` обрабатывает результат выполнения запроса или подзапросов, после чего возвращает клиенту итоговый результат.

Кластер с расширенным шардированием состоит из хостов `MONGOD`, `MONGOS` и `MONGOCFG`.
Обработка клиентских запросов к кластеру происходит следующим образом:
1. Клиент Yandex StoreDoc соединяется со всеми хостами `MONGOS` и отправляет запрос одному из них.
1. Хост `MONGOS` анализирует запрос и определяет, какие шарды он затрагивает, используя информацию от хостов `MONGOCFG`.
1. Хост `MONGOS` направляет запрос или набор подзапросов на соответствующие хосты `MONGOD`.
1. Хосты `MONGOD` выполняют полученный запрос или подзапросы.
1. Хост `MONGOS` обрабатывает результат выполнения запроса или подзапросов, после чего возвращает клиенту итоговый результат.