Вычислительные пулы

В Tengri вычисление производится в виртуальных вычислительных пулах (вычислителях).

Вычислительный пул — это легковесный контейнер, содержащий программный код и обладающий выделенными вычислительными ресурсами для вычислительных задач:

  • Выполнение SQL-запросов

  • Выполнение кода на Python

  • Запуск моделей AI

Операции с вычислительными пулами:

  • CREATE WORKER POOL — Создание вычислительного пула

  • ALTER WORKER POOL — Изменение атрибутов вычислительного пула

  • DROP WORKER POOL — Сброс вычислительного пула

  • ALTER WORKER POOL SET DEFAULT — Установка атрибутов вычислительного пула по умолчанию

  • SHOW WORKER POOLS — Вывод списка всех вычислительных пулов

  • SHOW CURRENT WORKER POOL — Вывод текущего вычислительного пула

  • USE WORKER POOL — Установка текущего вычислительного пула

Создание вычислительного пула

CREATE [OR REPLACE] WORKER POOL [IF NOT EXISTS] <pool_name>
    [<worker_pool_attribute> [ ... ]];

Создает новый вычислительный пул с указанным именем и атрибутами.

Если указан модификатор OR REPLACE, то конечное действие эквивалентно удалению существующего вычислительного пула и созданию нового с тем же именем.

Опциональный модификатор IF NOT EXISTS ограничивает запрос только теми случаями, в которых указанный объект еще не существует.

Модификаторы являются взаимоисключающими. Если указать их оба, это приведет к ошибке.

Можно указать следующие атрибуты вычислительного пула:

  • WORKER SIZE <size> — устанавливает размер вычислительного пула: XS, S, M, L, XL.

  • MAX WORKER COUNT <count> — устанавливает максимальное количество вычислительных пулов.

  • WORKER IDLE TTL <seconds> SECONDS — устанавливает время простоя для вычислительных пулов.

  • SCALING STRATEGY <strategy> — задает стратегию масштабирования. В настоящее время существует две стратегии: STD или ECO.

Изменение атрибутов вычислительного пула

ALTER WORKER POOL [IF EXISTS] <pool_name> RENAME TO <new_pool_name>;

ALTER WORKER POOL [IF EXISTS] <pool_name> SET <worker_pool_attribute>;

Изменяет вычислительный пул с указанным именем.

Поддерживаемые действия:

  • RENAME TO — переименовывает вычислительный пул в указанное имя <new_pool_name>. Все атрибуты и конфигурации вычислительного пула сохраняются.

  • SET — обновляет атрибут вычислительного пула. Можно изменить следующие атрибуты:

    • WORKER SIZE <size> — устанавливает размер вычислительного пула (XS, S, M, L, XL).

    • MAX WORKER COUNT <count> — устанавливает максимальное количество вычислительных пулов.

    • WORKER IDLE TTL <seconds> SECONDS — устанавливает время простоя для вычислительных пулов.

    • SCALING STRATEGY <strategy> — задает стратегию масштабирования (STD или ECO).

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

Сброс вычислительного пула

DROP WORKER POOL [IF EXISTS] <pool_name>;

Удаляет вычислительный пул с указанным именем.

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

Установка атрибутов вычислительного пула по умолчанию

ALTER WORKER POOL SET DEFAULT <worker_pool_attributes>;

Устанавливает атрибуты по умолчанию для всех новых вычислительных пулов в системе.

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

Можно указать следующие атрибуты вычислительных пулов:

  • WORKER SIZE <size> — задает размер вычислительного пула по умолчанию (XS, S, M, L, XL).

  • MAX WORKER COUNT <count> — устанавливает максимальное количество вычислительных пулов по умолчанию.

  • WORKER IDLE TTL <seconds> SECONDS — устанавливает время простоя для вычислительных пулов по умолчанию.

  • SCALING STRATEGY <strategy> — устанавливает стратегию масштабирования по умолчанию (STD или ECO).

Вывод списка всех вычислительных пулов

SHOW WORKER POOLS;

Выводит список всех вычислительных пулов в системе.

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

Чтобы увидеть вычислительный пул в ответе, требуется привилегия MONITOR.

Вывод текущего вычислительного пула

SHOW CURRENT WORKER POOL;

Выводит вычислительный пул, который в данный момент используется для выполнения запроса.

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

Установка текущего вычислительного пула

USE WORKER POOL <pool_name>;

Устанавливает указанный вычислительный пул в качестве текущего пула для выполнения запросов.

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

Для использования этого оператора необходимы привилегии MONITOR и USAGE.