Поиск затрат на единицу запроса для операций, выполняемых в Azure Cosmos DB для Gremlin

ПРИМЕНИМО К: Гремлин

Azure Cosmos DB поддерживает многие интерфейсы API, такие как SQL, MongoDB, Cassandra, Gremlin и Таблицы. У каждого API есть собственный набор операций базы данных, начиная от простого считывания и записи точек и заканчивая сложными запросами. Каждая операция базы данных потребляет системные ресурсы. Потребление зависит от сложности операции.

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

В этой статье представлены различные способы поиска потребления единиц запросов (ЕЗ) для любой операции, выполняемой с контейнером в Azure Cosmos DB для Gremlin. Если вы используете другой API, ознакомьтесь со статьями API для MongoDB, API Cassandra, SQL API и API таблиц, чтобы узнать расходы в ЕЗ/с.

Заголовки, возвращаемые API Gremlin, сопоставляются с пользовательскими атрибутами состояния, которые сейчас предоставляются через пакеты SDK Gremlin для .NET и Java. Сведения о стоимости запроса доступны в ключе x-ms-request-charge. При использовании API Gremlin оценить потребление в ЕЗ для операций в контейнере Azure Cosmos можно несколькими способами.

Использование портала Azure

  1. Войдите на портал Azure.

  2. Создайте учетную запись Azure Cosmos и заполните ее данными или выберите существующую учетную запись, которая уже содержит данные.

  3. Перейдите на панель обозревателя данных и выберите контейнер, с которым собираетесь работать.

  4. Введите допустимый запрос и щелкните Выполнить запрос Gremlin.

  5. Выберите Статистика запросов, чтобы отобразилось количество ЕЗ, фактически затраченных на выполненный запрос.

Снимок экрана: расходы в ЕЗ для Gremlin на портале Azure

Использование пакета SDK для драйвера .NET

При использовании пакета SDK Gremlin для .NET атрибуты состояния доступны в свойстве StatusAttributes объекта ResultSet<>.

ResultSet<dynamic> results = client.SubmitAsync<dynamic>("g.V().count()").Result;
double requestCharge = (double)results.StatusAttributes["x-ms-request-charge"];

Дополнительные сведения см. в статье Краткое руководство. Создание приложения платформа .NET Framework или Core с помощью учетной записи Azure Cosmos DB для Gremlin.

Использование драйвера пакета SDK для Java

При использовании пакета SDK Gremlin для Java атрибуты состояния можно получить, вызвав метод statusAttributes() для объекта ResultSet.

ResultSet results = client.submit("g.V().count()");
Double requestCharge = (Double)results.statusAttributes().get().get("x-ms-request-charge");

Дополнительные сведения см. в кратком руководстве Создание графовой базы данных в Azure Cosmos DB с помощью пакета SDK для Java.

Дальнейшие действия

Сведения об оптимизации потребления ЕЗ см. в следующих статьях: