Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Управление доступом
    • Обзор
      • Правила тарификации для бессерверного режима
      • Стоимость запроса для YQL
      • Стоимость запроса для Document API
      • Стоимость запроса для специальных API
      • Стоимость операций с топиками
    • Режим с выделенными инстансами
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы
  1. Правила тарификации
  2. Бессерверный режим
  3. Стоимость запроса для YQL

Правила оценки стоимости YQL-запросов к YDB

Статья создана
Yandex Cloud
Обновлена 15 ноября 2024 г.

При выполнении YQL-запроса используются ресурсы на стороне сервера. Информация о потребленных ресурсах доступна в статистике исполнения запроса.

Для определения стоимости запроса через YDB API вычисляются стоимость использования CPU и стоимость ввода-вывода данных. Из вычисленных значений выбирается максимальное.

  • Стоимость использования CPU.

    Суммируется время CPU, затраченное на компиляцию запроса, а также время использования CPU на всех этапах выполнения запроса. Сумма делится на продолжительность одного окна 1,5 мс, округляется в меньшую сторону и переводится в RU по тарифу из таблицы ниже.

    Закешированные запросы повторно не компилируются. Чтобы воспользоваться кешированием, применяйте в запросах bind variables, а также включите флаг сохранения плана исполнения запроса в кеше.

  • Стоимость ввода-вывода данных.

    Рассчитываются следующие значения:

    • Количество операций чтения с диска. Сравнивается число прочитанных записей и блоков данных, выбирается наибольшее из них. Число блоков вычисляется делением суммы прочитанных байт на размер блока 4 КБ, с округлением вверх.
    • Количество операций записи на диск. Сравнивается число записанных записей и блоков данных, выбирается наибольшее из них. Число блоков вычисляется делением суммы записанных байт на размер блока 1 КБ, с округлением вверх.

    Учитывается ввод-вывод данных в таблицы и индексы. При удалении записей учитывается только их количество.

    Количества операций чтения и записи переводятся в RU по тарифу из таблицы ниже, полученные стоимости складываются.

Важно

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

Стоимость единиц выполнения запроса в RU:

Оцениваемый параметр Стоимость
Одно окно использования CPU 1 RU
Одна операция чтения 1 RU
Одна операция записи 2 RU

Не тарифицируется следующие операции:

  • Создание, изменение и удаление схем таблиц.
  • Получение описания и списка таблиц.
  • Создание и удаление директорий.
Пример расчета стоимости запроса

Статистика запроса:

query_phases {
  ...
  table_access {
    ...
    reads {
      rows: 2
      bytes: 16
    }
    ...
  }
  cpu_time_us: 475
  ...
}
query_phases {
  ...
  table_access {
    ...
    updates {
      rows: 2
      bytes: 2456
    }
    ...
  }
  cpu_time_us: 514
  ...
}
compilation {
  ...
  cpu_time_us: 4062
}
process_cpu_time_us: 870

Где:

  • query_phases[].cpu_time_us — время CPU на выполнение запроса в мкс.
  • compilation.cpu_time_us — время CPU на компиляцию запроса в мкс.
  • process_cpu_time_us — время CPU на управление взаимодействием в мкс.
  • query_phases[].reads.rows — число прочитанных записей данных.
  • query_phases[].reads.bytes — число прочитанных байт данных.
  • query_phases[].updates.rows — число записанных записей данных.
  • query_phases[].updates.bytes — число записанных байт данных.

Чтобы получить стоимость использования CPU, сумма времени CPU запроса делится на 1,5 мс, ( 475 + 514 + 4062 + 870 ) / 1500 = 3,95. Результат округляется в меньшую сторону и переводится в RU:

3 × 1 RU = 3 RU

Чтобы получить стоимости ввода-вывода данных:

  • Вычисляется количество операций чтения с диска в записях и блоках, из них выбирается максимальное:

    • Прочитаны 2 записи, количество операций равно 2.
    • Прочитаны 16 байт, 16 / ( 4 × 1024 ) = 0,004, результат округляется в большую сторону, количество операций равно 1.

    Количество операций чтения равно 2.

  • Вычисляется количество операций записи на диск в записях и блоках, из них выбирается максимальное:

    • Записаны 2 записи, количество операций равно 2.
    • Записаны 2456 байта, 2456 / 1024 = 2,398, результат округляется в большую сторону, количество операций равно 3.

    Количество операций записи равно 3.

Стоимость ввода-вывода:

2 × 1 RU + 3 × 2 RU = 8 RU

Стоимость выполнения запроса равна 8 RU.

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

Предыдущая
Правила тарификации для бессерверного режима
Следующая
Стоимость запроса для Document API
Проект Яндекса
© 2025 ООО «Яндекс.Облако»