[Документация Yandex Cloud](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Концепции](overview.md) > Взаимосвязь ресурсов сервиса

# Взаимосвязь ресурсов в Yandex MPP Analytics for PostgreSQL


{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступна только [зона доступности](../../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}

{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступны только [платформы](../../compute/concepts/vm-platforms.md#standard-platforms) `standard-v3` (Intel Ice Lake) и `standard-v3-t4i` (Intel Ice Lake with T4i). Другие типы платформ, кластеры GPU и выделенные хосты недоступны.

{% endnote %}


Основная сущность, которой оперирует сервис Yandex MPP Analytics for PostgreSQL — _[кластер](../../glossary/cluster.md) баз данных_.

Кластер баз данных состоит из хостов — виртуальных машин с развернутыми на них базами данных. Подробнее о [базах данных в Yandex MPP Analytics for PostgreSQL](overview.md).

Кластер баз данных включает в себя:

* два _хоста-мастера_ (первичный и резервный);
* два или больше _хостов-сегментов_.

_Первичный_ хост-мастер (PRIMARY) принимает клиентские подключения и SQL-запросы от приложений при помощи [менеджера подключений Odyssey](pooling.md) и распределяет их по хостам-сегментам для обработки.

_Резервный_ хост-мастер (STANDBY) непрерывно реплицирует данные первичного хоста-мастера, но пользовательские подключения не принимает.

В случае отказа первичного хоста-мастера резервный принимает на себя его функции. Таким образом, кластер с двумя хостами-мастерами при отказе одного из них продолжит обрабатывать запросы.

Хосты-сегменты хранят распределенные данные кластера и выполняют обработку запросов.

## Архитектура хоста-сегмента {#architecture-segment}

Архитектура хоста-сегмента представлена на схеме:

![infrastructure](../../_assets/managed-greenplum/architecture-segment.svg)

На хостах-сегментах развернуты самостоятельные СУБД — _сегменты_. Количество сегментов на каждом хосте одинаково. Каждый сегмент в кластере имеет одну реплику — зеркальный сегмент, который располагается на другом хосте и хранит копию данных с основного сегмента.

Каждый сегмент включает следующие компоненты:

* механизм выполнения запросов (Execution Engine);
* подключаемые расширения (Extensions).

Для хранения данных можно использовать хранилище кластера или [гибридное хранилище](hybrid-storage.md).

Кластер можно [расширить](../operations/cluster-expand.md), добавив хосты-сегменты. При расширении можно также увеличить количество сегментов на каждом хосте. Без расширения кластера увеличить количество сегментов невозможно.

## Выполнение запросов в кластере {#cluster-query-execution}

При любом сценарии использования приложение отправляет SQL-запрос в кластер. Кластер обрабатывает запрос в рамках сессии пользователя следующим образом:

1. Устанавливает сессию с хостом-мастером с помощью менеджера подключений Odyssey, который управляет авторизацией и снижает накладные расходы на кластер.
1. Передает запрос в процесс Query Coordinator на хосте-мастере. Query Coordinator анализирует запрос, затем разбивает его на части и для каждой выбирает план выполнения с помощью оптимизатора запросов (Optimizer).
1. Передает части запроса с планом выполнения на сегменты. При выполнении запроса сегменты могут обращаться к локальному хранилищу, а также к внешним источникам данных с помощью [Yandex Data Transfer](../../data-transfer/index.md) или [внешних таблиц](external-tables.md).

Взаимосвязь ресурсов в кластере Yandex MPP Analytics for PostgreSQL и модель обмена данными внутри кластера, а также между первичным хостом-мастером и приложениями представлена на схеме:

![architecture](../../_assets/managed-greenplum/architecture.svg)

## Размещение хостов кластера {#host-placement}


Хосты кластера Yandex MPP Analytics for PostgreSQL представляют собой [виртуальные машины](../../glossary/vm.md) в облаке. Такие виртуальные машины могут размещаться:

* На _стандартных хостах_ Yandex Cloud.

    Это общие физические серверы для размещения виртуальных машин кластера. Такие хосты выбираются случайным образом из пула доступных хостов, удовлетворяющих выбранной конфигурации кластера.

* На _выделенных хостах_ Yandex Cloud.

    Это физические серверы для размещения исключительно ваших виртуальных машин. ВМ на выделенных хостах обладают всеми возможностями обычных ВМ. Дополнительно они получают физическую изоляцию от ВМ других пользователей и доступ ко всему объему локальных дисков физического сервера.

    Выделенные хосты выбираются из _групп выделенных хостов_, указанных при создании кластера. Группа выделенных хостов должна быть предварительно [создана](../../compute/operations/dedicated-host/create-host-group.md) в сервисе Yandex Compute Cloud.

    Подробнее читайте в разделе [Выделенный хост](../../compute/concepts/dedicated-host.md).


Все хосты кластера Yandex MPP Analytics for PostgreSQL размещаются в одной из зон доступности: `kz1-a`, `kz1-b` или `kz1-d`.

При создании кластера необходимо указывать:

* _Класс хостов_ — шаблон, по которому будут развертываться хосты кластера. Список доступных классов и их характеристики находится в разделе [Классы хостов](instance-types.md).

* _Окружение_ — среду, в которой будет развертываться кластер:
    * `PRODUCTION` — для стабильных версий ваших приложений.
    * `PRESTABLE` — для тестирования. Prestable-окружение аналогично Production-окружению и на него также распространяется SLA, но при этом на нем раньше появляются новые функциональные возможности, улучшения и исправления ошибок. В Prestable-окружении вы можете протестировать совместимость обновлений сервиса с вашим приложением.

{% note alert %}

Сервис может в автоматическом режиме обращаться к системной и диагностической информации ваших баз данных, чтобы отрисовывать графики мониторинга и поддерживать работоспособность кластера. Сервис никогда не запрашивает и не использует данные, которые вы записали в базу самостоятельно.

{% endnote %}

При работе необходимо учитывать, что контролирует сервис, а что — клиент Yandex Cloud. Понимание этих зон контроля помогает эффективно использовать облачные ресурсы и избегать возможных проблем при работе с базами данных. Подробнее в разделе [Разграничение зон контроля пользователей сервисов управляемых баз данных (MDB) и Yandex Cloud](../../overview/concepts/mdb-responsibilities.md).