Единицы запросов (RUs) в Cosmos DB (в Azure и Fabric)

Cosmos DB (в Azure и Fabric) нормализует стоимость всех операций базы данных с помощью единиц запросов (ЕЗ) и измеряет затраты на пропускную способность (единицы запросов в секунду, ЕЗ/с). Единица запросов — это валюта производительности, абстрагируя системные ресурсы, такие как обработка (ЦП), операции ввода-вывода (IOPS) и память, необходимые для выполнения операций базы данных, поддерживаемых Cosmos DB. Независимо от того, является ли операция базы данных операцией записи, чтения точек или запроса, всегда измеряется в единицах ЕЗ.

Например, запрос по идентификатору — это название, которое используется для получения одного элемента по его идентификатору и значению ключа распределения. Точка, считываемая для элемента 1 КБ, эквивалентна одному единице запроса (ЕЗ).

Общие операции базы данных можно классифицировать по определенным типам и делать разумные предположения о количестве единиц запросов, потребляемых каждым типом операции:

Операция Description
Операция чтения Использует один ЕЗ
Операция вставки Использует переменное число единиц ЕЗ
Операция обновления/вставки (upsert) Использует переменное число единиц ЕЗ
Операция удаления Использует переменное число единиц ЕЗ
Операция запроса Использует переменное число единиц запросов, потенциально больше, чем точечные операции.

Это важно

Microsoft Fabric сообщает об использовании и выставлении счетов с помощью единиц емкости. Cosmos DB в Microsoft Fabric внутренне нормализует стоимость всех операций базы данных с помощью единиц запросов (ЕЗ) и измеряет затраты на основе производительности (единицы запросов в секунду, ЕЗ/с). Затем ЕЗ/с из Cosmos DB преобразуются в единицы емкости (CUS) в Fabric для использования и выставления счетов.

Схема, на которой показаны операции с базами данных, которые используют единицы запросов на основе ЦП, памяти и IOPS (операции ввода-вывода в секунду).

Для управления емкостью и планирования Cosmos DB гарантирует, что количество RUs для определенной операции базы данных по заданному набору данных является детерминированным. Вы можете проверить заголовок ответа, чтобы отслеживать количество единиц запросов, потребляемых любой операцией базы данных. Зная факторы, которые влияют на стоимость в единицах запроса, и требования приложения к пропускной способности, вы сможете обеспечить экономичность приложения. В следующем разделе описаны ранее упомянутые факторы, влияющие на потребление RU.

Соображения

При оценке количества ЕЗ, потребляемых вашей рабочей нагрузкой, учитывайте следующие факторы:

  • Размер элемента. С увеличением размера элемента также увеличивается число единиц запросов, потребляемых для чтения и записи элемента.

  • Индексация элементов. По умолчанию каждый элемент индексируется автоматически. Если вы решили не индексировать некоторые элементы в контейнере, потребляется меньше ЕЗ.

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

  • Индексированные свойства. Свойства, которые индексируются по умолчанию, определяются политикой индексирования для каждого контейнера. Чтобы сократить потребление ЕЗ в операциях записи, ограничьте количество индексированных свойств.

  • Тип операций чтения: точечная точка считывает меньше ЕЗ, чем запросы.

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

    • Количество результатов запроса.

    • Количество предикатов.

    • Характер предикатов.

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

    • Размер исходных данных.

    • Размер результирующего набора.

    • Число и размер свойств, проецируемых из запроса

Замечание

Один и тот же запрос на одни и те же данные всегда стоит одинаковое количество единиц ЕЗ при повторяющихся выполнениях.