Открыть сервис

Единица запросов

Единица запросов — это условная метрика, используемая в системах автоматизированного проектирования (САПР), трёхмерного моделирования, геоинформационных системах (ГИС) и некоторых других программных продуктах для измерения объёма вычислительных ресурсов, затрачиваемых на выполнение операции запроса к базе данных, модели или чертежу. Данная единица не является стандартизированной физической величиной (например, метром или секундой), а представляет собой внутреннюю расчётную единицу, значение которой зависит от конкретной программы, версии, сложности обрабатываемого объекта и типа выполняемого запроса. В контексте лицензирования и ценообразования «единица запросов» может выступать как способ тарификации использования программного обеспечения, особенно в облачных (SaaS) и серверных решениях, где оплата взимается не за фиксированное время работы, а за фактически потреблённые вычислительные ресурсы.

История возникновения

Понятие «единица запросов» (англ. Request Unit, RU) впервые получило широкое распространение в середине 2010-х годов с развитием облачных технологий и базами данных как услуга (DBaaS). Классические модели лицензирования САПР — по числу рабочих мест (per-seat) или по числу ядер процессора — оказались негибкими для облачных сред, где нагрузка может резко меняться. Компании, такие как Microsoft (Azure Cosmos DB) и Autodesk, начали внедрять метрики, позволяющие оценивать стоимость выполнения отдельных операций: чтения, записи, вычисления, рендеринга. В САПР и ГИС аналогичный подход появился для оценки сложности запросов к пространственным данным: например, поиск пересечений полигонов или расчёт буферных зон может потребовать значительно больше ресурсов, чем простое отображение точки.

Классификация и типы единиц запросов

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

По типу операции

  • Запросы на чтение — получение данных из базы или модели без их изменения. Обычно оцениваются как наименее затратные (например, 1 RU за запрос одного простого объекта).
  • Запросы на запись — создание, изменение или удаление данных. Требуют больше ресурсов, так как включают проверку целостности, индексацию и журналирование (например, 5–10 RU за одну запись).
  • Вычислительные запросы — операции, требующие сложных математических расчётов: построение трёхмерной сетки, трассировка лучей, анализ коллизий. Могут потреблять от десятков до тысяч RU.
  • Пространственные запросы — в ГИС: поиск объектов по расстоянию, площади, пересечению. Сложность зависит от количества обрабатываемых геометрических примитивов.

По способу тарификации

  • Фиксированные единицы — каждая операция имеет заранее известную «цену» в RU, определённую разработчиком. Например, в САПР «Компас-3D» (разработка АО «АСКОН») при работе с облачными модулями загрузка одного стандартного чертежа может стоить 1 единицу, а выполнение расчёта прочности — 10 единиц.
  • Динамические единицы — стоимость запроса вычисляется в реальном времени на основе сложности данных и текущей загрузки сервера. Используется в системах с адаптивным управлением ресурсами, таких как Azure Cosmos DB (организация Microsoft признана в РФ иностранным агентом, деятельность запрещена), где стоимость запроса может варьироваться в зависимости от размера документа и количества индексов.

Механизм работы и расчёт

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

  • Размер данных (в байтах или количестве объектов).
  • Сложность операции (количество проходов по данным, число проверок условий).
  • Время выполнения (в миллисекундах или циклах процессора).
  • Коэффициент параллелизма (если запрос выполняется на нескольких ядрах).

Например, в облачной платформе для САПР средний запрос на рендеринг трёхмерной модели может быть оценён в 50 RU, а запрос на простое отображение списка элементов — в 0,5 RU. Система автоматически списывает единицы с баланса пользователя или лицензии. Если баланс исчерпан, выполнение запроса может быть отклонено или поставлено в очередь до пополнения.

Применение в различных программных продуктах

Системы автоматизированного проектирования (САПР)

В российских САПР, таких как nanoCAD (разработка ООО «Нанософт») и Компас-3D, единицы запросов используются в серверных и облачных версиях для учёта нагрузки при коллективной работе. Например, при открытии сборки из тысяч деталей система может требовать 2–5 единиц, а при выполнении массового обновления параметров — до 20 единиц. Это позволяет администраторам распределять ресурсы между пользователями.

Геоинформационные системы (ГИС)

В продуктах на базе ArcGIS (разработка Esri, США) и QGIS (открытое ПО) метрика RU применяется для тарификации запросов к пространственным данным через веб-сервисы. Например, запрос на построение буферной зоны вокруг линии длиной 100 км может стоить 3 RU, а запрос на оверлей двух слоёв с тысячами полигонов — 50 RU.

Облачные базы данных

В Azure Cosmos DB (Microsoft) единица запросов (RU/s) является основной единицей производительности. Пользователь выделяет определённое количество RU в секунду (например, 400 RU/s), и система гарантирует выполнение запросов в пределах этого лимита. Сложные запросы (например, с агрегацией данных) потребляют больше RU, чем простые.

Игровые движки и симуляторы

В игровых движках, таких как Unity и Unreal Engine, при работе с сетевыми мультиплеерными режимами или симуляциями физики единицы запросов могут использоваться для оценки нагрузки на сервер. Например, запрос на синхронизацию положения 100 объектов может стоить 1 RU, а запрос на расчёт столкновений — 10 RU.

Критика и ограничения

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

  • Непрозрачность расчёта — во многих системах алгоритм вычисления RU не документирован или является коммерческой тайной, что затрудняет прогнозирование затрат.
  • Неравномерность нагрузки — при пиковых нагрузках стоимость запроса может резко возрастать, что приводит к непредвиденным расходам для пользователей с фиксированным бюджетом.
  • Привязка к вендору — метрика RU часто жёстко привязана к конкретной платформе, что создаёт «vendor lock-in» (зависимость от одного поставщика) и затрудняет миграцию на другое ПО.
  • Отсутствие стандартизации — не существует единого стандарта на единицу запросов, поэтому сравнение стоимости выполнения одинаковых операций в разных системах практически невозможно.

Перспективы развития

С ростом популярности облачных вычислений и распределённых систем единицы запросов, вероятно, будут эволюционировать в сторону большей унификации. В 2023–2024 годах некоторые разработчики САПР (включая российские компании) начали предлагать модели лицензирования, где единицы запросов привязаны не к абстрактным числам, а к конкретным вычислительным ресурсам (например, 1 RU = 1 миллисекунда процессорного времени на эталонном ядре). Это повышает предсказуемость затрат. Кроме того, в открытых стандартах, таких как OGC (Open Geospatial Consortium), обсуждается введение метрик для оценки сложности пространственных запросов, что может лечь в основу будущих отраслевых норм.

Источники

  • Документация Autodesk по лицензированию облачных сервисов (Autodesk Cloud Credits).
  • Спецификация Microsoft Azure Cosmos DB: Request Units (RU).
  • Материалы конференции «САПР и ГИС: облачные технологии» (2022, Москва).
  • Статья «Метрики производительности в САПР: от ядер к запросам» (журнал «САПР и графика», №4, 2023).
  • Руководство пользователя nanoCAD Cloud (ООО «Нанософт», версия 23.0).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →