Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for Greenplum®
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Расчет конфигурации кластера
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Управление хостами кластера
      • Просмотр хостов кластера
      • Расширение кластера
    • Изменение настроек кластера
    • Управление ролями и пользователями
    • Управление клиентскими процессами
    • Использование внешних таблиц
    • Расширения Greenplum
      • Управление расширениями
      • pgcrypto
      • uuid-cb
    • Управление резервными копиями
    • Просмотр логов кластера
    • Удаление кластера
    • Диагностика производительности
    • Мониторинг состояния кластера и хостов
    • Управление ресурсными группами
  • Практические руководства
    • Миграция базы данных в Managed Service for Greenplum®
    • Создание внешней таблицы на базе таблицы из бакета Yandex Object Storage с помощью конфигурационного файла
    • Миграция базы данных из Greenplum® в PostgreSQL
    • Миграция базы данных из Greenplum® в ClickHouse
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
    • Сеть в Managed Service for Greenplum®
    • Квоты и лимиты
    • Типы дисков
    • Резервные копии
    • Ресурсные группы
    • Шардирование
    • Типы хранения данных
    • Пользователи и роли
    • Техническое обслуживание
    • Настройки Greenplum®
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • ResourcePresetService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • get
        • list
      • Cluster
        • Overview
        • create
        • delete
        • expand
        • get
        • list
        • listBackups
        • listLogs
        • listMasterHosts
        • listOperations
        • listSegmentHosts
        • restore
        • start
        • stop
        • streamLogs
        • update
      • ResourcePreset
        • Overview
        • get
        • list
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Подключение
    • Резервное копирование
    • Изменение кластера
    • Кластер и хосты Managed Service for Greenplum®
    • Работа с внешними таблицами
    • Управление пользователями
    • Мониторинг и логи
    • Все вопросы на одной странице
  1. Концепции
  2. Ресурсные группы

Ресурсные группы

Статья создана
Yandex Cloud
  • Параметры ресурсных групп
  • Ресурсные группы по умолчанию
  • Особенности распределения оперативной памяти
  • Особенности распределения ресурсов CPU

Ресурсные группы позволяют пользователям с ролью mdb_admin устанавливать квоты на выделяемые для обработки запросов ресурсы:

  • вычислительные ресурсы CPU;
  • объем оперативной памяти;
  • количество одновременных транзакций.

В ресурсную группу может входить несколько ролей, квоты для них будут общими.

Greenplum® получает от пользователя запрос на транзакцию и сопоставляет необходимые для ее выполнения ресурсы со свободными квотами в ресурсной группе. Если квот достаточно, выполнение запроса начинается немедленно. Если квот не хватает, запрос ожидает, пока выполнение других запросов не будет завершено и ресурсы не освободятся. Очередь запросов устроена по принципу первый вошел — первый обслужен.

Параметры ресурсных групп

Каждая ресурсная группа обладает следующим набором параметров:

Название Описание
MEMORY_AUDITOR Средство контроля памяти, используемое ресурсной группой. В Managed Service for Greenplum® по умолчанию используется значение vmtracker.
CONCURRENCY Максимальное количество транзакций, обрабатываемых в ресурсной группе одновременно. Включает в себя активные транзакции и транзакции в режиме ожидания. Значение по умолчанию — 20.
CPU_RATE_LIMIT Зарезервированная доля (%) ресурсов CPU на сегменте. Минимальное значение — 1, максимальное значение — 100. Автоматически сбрасывается на -1, если задан параметр CPUSET.
CPUSET Зарезервированные номера ядер CPU. Номера или интервалы задаются в кавычках, например: '1,3-4'. Указанные номера должны существовать в системе и не могут совпадать с номерами, зарезервированными для других ресурсных групп. Автоматически сбрасывается на -1, если задан параметр CPU_RATE_LIMIT.
MEMORY_LIMIT Зарезервированная доля (%) оперативной памяти на сегменте. Минимальное значение — 0 (по умолчанию), максимальное значение — 100. При значении 0 ресурсная группа сможет использовать только незарезервированную память для выполнения запросов. Сумма значений MEMORY_LIMIT всех ресурсных групп не должна превышать 100.
MEMORY_SHARED_QUOTA Доля зарезервированной памяти MEMORY_LIMIT (%), которая может использоваться всеми транзакциями ресурсной группы по мере необходимости. Минимальное значение — 1, максимальное значение — 100, по умолчанию — 80. Подробнее см. в разделе Особенности распределения оперативной памяти.
MEMORY_SPILL_RATIO Пороговая доля оперативной памяти, которую может занять один оператор транзакции. Если эта доля превышена, то для обработки оператора создаются временные файлы на диске. Минимальное значение — 0 (по умолчанию), максимальное значение — 100. Если MEMORY_LIMIT равно 0, то значение этого параметра также должно быть равно 0.

Ресурсные группы по умолчанию

С момента создания кластера Managed Service for Greenplum® в нем присутствует три ресурсные группы:

  • admin_group — служебная группа, назначенная служебным ролям monitor и gpadmin.

  • mdb_admin_group — группа для администраторов. По умолчанию назначена пользователю-администратору, логин и пароль которого заданы при создании кластера.

    Если администратор и другие пользователи входят в одну ресурсную группу, и ресурсы в ней окажутся исчерпаны, то администратор не сможет подключиться к базе данных и вручную прервать ресурсоемкие процессы. Поэтому данную ресурсную группу рекомендуется назначать только пользователям с ролью mdb_admin.

  • default_group — общая группа. Будет назначена новой роли, если для нее явно не задана другая ресурсная группа.

Значения параметров ресурсных групп по умолчанию:

Параметр admin_group mdb_admin_group default_group
MEMORY_AUDITOR vmtracker vmtracker vmtracker
CONCURRENCY 10 20 20
CPU_RATE_LIMIT 10 1 30
CPUSET -1 -1 -1
MEMORY_LIMIT 10 0 0
MEMORY_SHARED_QUOTA 80 80 80
MEMORY_SPILL_RATIO 0 0 0

Значения параметров ресурсной группы admin_group нельзя изменить.

Подробнее об управлении ролями см. в разделе Пользователи и роли в Managed Service for Greenplum® и в документации Greenplum®.

Особенности распределения оперативной памяти

  • Для каждой ресурсной группы можно зарезервировать долю оперативной памяти сегмента (параметр MEMORY_LIMIT). Эта доля делится на общую квоту и гарантированную квоту:

    • Общая квота задается параметром MEMORY_SHARED_QUOTA и ее могут использовать все транзакции в ресурсной группе. Greenplum® выдает общую квоту транзакциям по принципу первый вошел — первый обслужен.

    • Гарантированная квота резервируется для каждой транзакции и вычисляется по формуле:

      (MEMORY_LIMIT − MEMORY_SHARED_QUOTA)/CONCURRENCY.

  • Если сумма значений MEMORY_LIMIT всех ресурсных групп меньше 100, то Greenplum® выделяет незарезервированную оперативную память любым транзакциям любых ресурсных групп по принципу первый вошел — первый обслужен.

    Транзакция использует незарезервированную оперативную память при соблюдении двух условий:

    • гарантированная доля памяти для транзакции заполнена;
    • общая квота ресурсной группы закончилась.

    Для стабильной и эффективной работы кластера рекомендуется оставлять незарезервированной 10–20% оперативной памяти.

Особенности распределения ресурсов CPU

Существует два способа выделить ресурсы CPU ресурсной группе:

  • (Рекомендованный) Указать долю ресурсов CPU сегмента, которая будет доступна для ресурсной группы (параметр CPU_RATE_LIMIT).

    В Managed Service for Greenplum® используется режим управления, при котором вычислительные ресурсы CPU простаивающих ресурсных групп перераспределяются в пользу ресурсных групп с высокой загрузкой. Если ресурсная группа выходит из простоя, то перераспределенные ресурсы CPU возвращаются к ней.

  • Указать конкретные номера ядер CPU, которые будут использоваться ресурсной группой (параметр CPUSET). Эти ядра станут недоступны для других ресурсных групп — если ресурсная группа не обрабатывает транзакции, то зарезервированные ядра окажутся в простое. Рекомендуется свести к минимуму количество таких ресурсных групп.

    Для стабильной работы кластера не рекомендуется резервировать ядро с номером 0.

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

Подробнее о работе ресурсных групп см. в документации Greenplum®.

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Параметры ресурсных групп
  • Ресурсные группы по умолчанию
  • Особенности распределения оперативной памяти
  • Особенности распределения ресурсов CPU