Azure Cosmos DB for Gremlin で実行された操作の要求ユニット使用量を確認する

適用対象: Gremlin

Azure Cosmos DB では、多くの API (SQL、MongoDB、Cassandra、Gremlin、Table など) がサポートされています。 各 API には、固有のデータベース操作のセットがあります。 これらの操作の範囲は、単純なポイント読み取り/書き込みから、複雑なクエリにまで及びます。 各データベース操作は、それらの操作の複雑さに基づいて、システム リソースを消費します。

すべてのデータベース操作のコストは Azure Cosmos DB によって正規化され、要求ユニット (RU) によって表されます。 要求の料金は、すべてのデータベース操作で使用される要求ユニットです。 RU は、Azure Cosmos DB によってサポートされるデータベース操作を実行するために必要な CPU、IOPS、メモリなどのシステム リソースを抽象化する、パフォーマンスの通貨と考えることができます。 Azure Cosmos コンテナーの操作にどの API 使用するかに関係なく、コストは RU によって測定されます。 データベース操作が書き込み、ポイント読み取り、またはクエリのいずれの場合でも、コストは常に RU で測定されます。 詳細については、要求ユニットとその考慮事項に関する記事を参照してください。

この記事では、Azure Cosmos DB for Gremlin でコンテナーに対して実行された任意の操作の要求ユニット (RU) 消費量を確認できるさまざまな方法を紹介します。 異なる API を使用している場合は、MongoDB 用 APICassandra APISQL APITable API に関する記事を参照して RU 消費量を確認してください。

Gremlin API から返されるヘッダーは、Gremlin .NET と Java SDK で現在公開されているカスタムの状態属性にマップされます。 要求の使用量は、x-ms-request-charge キーで得られます。 Gremlin API を使用するとき、Azure Cosmos コンテナーに対する操作の RU 消費量をいくつかの方法で確認できます。

Azure ポータルの使用

  1. Azure portal にサインインします。

  2. 新しい Azure Cosmos アカウントを作成してデータを取り込むか、既にデータが存在する既存のアカウントを選択します。

  3. [データ エクスプローラー] ウィンドウに進み、操作の対象となるコンテナーを選択します。

  4. 有効なクエリを入力してから、 [Gremlin クエリの実行] を選択します。

  5. [Query Stats](クエリの統計) を選択すると、実行した要求の実際の使用量が表示されます。

Azure portal で Gremlin クエリ要求の使用量を取得するスクリーンショット

.NET SDK ドライバーを使用する

Gremlin.NET SDK を使用するとき、ResultSet<> オブジェクトの StatusAttributes プロパティで状態属性が得られます。

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

詳細については、「クイックスタート: Azure Cosmos DB for Gremlin アカウントを使用して .NET Framework アプリケーションまたは Core アプリケーションを構築する」を参照してください。

Java SDK ドライバーを使用する

Gremlin Java SDK を使用するとき、ResultSet オブジェクトで statusAttributes() メソッドを呼び出すことで状態属性を取得できます。

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

詳細については、「クイック スタート: Azure Cosmos DB で Java SDK を使用してグラフ データベースを作成する」を参照してください。

次のステップ

RU 使用量を最適化する方法については、次の記事をご覧ください。