Azure Cosmos DB for Apache Cassandra で実行された操作の要求ユニット使用料を確認する
適用対象: Cassandra
Azure Cosmos DB では、多くの API (SQL、MongoDB、Cassandra、Gremlin、Table など) がサポートされています。 各 API には、固有のデータベース操作のセットがあります。 これらの操作の範囲は、単純なポイント読み取り/書き込みから、複雑なクエリにまで及びます。 各データベース操作は、それらの操作の複雑さに基づいて、システム リソースを消費します。
すべてのデータベース操作のコストは Azure Cosmos DB によって正規化され、要求ユニット (RU) によって表されます。 要求の料金は、すべてのデータベース操作で使用される要求ユニットです。 RU は、Azure Cosmos DB によってサポートされるデータベース操作を実行するために必要な CPU、IOPS、メモリなどのシステム リソースを抽象化する、パフォーマンスの通貨と考えることができます。 Azure Cosmos DB コンテナーとのやりとりにどの API 使用するかに関係なく、コストは RU によって常に測定されます。 データベース操作が書き込み、ポイント読み取り、またはクエリのいずれの場合でも、コストは常に RU で測定されます。 詳細については、要求ユニットとその考慮事項に関する記事を参照してください。
この記事では、Azure Cosmos DB for Apache Cassandra のコンテナーに対して実行された任意の操作の要求ユニット (RU) 消費量を確認するさまざまな方法を紹介します。 別の API を使用している場合、RU/秒の使用量を確認する方法については、MongoDB 用 API、NoSQL 用 API、Gremlin 用 API、Table 用 API の記事を参照してください。
Azure Cosmos DB for Apache Cassandra に対して操作を実行すると、RequestCharge
という名前のフィールドとして、受信ペイロードに RU 使用量が返されます。 RU 使用量はいくつかの方法で取得できます。
Cassandra ドライバーを使用する
.NET SDK を使用するとき、RowSet
オブジェクトの Info
プロパティの下で、入ってくるペイロードを取得できます。
RowSet rowSet = session.Execute("SELECT table_name FROM system_schema.tables;");
double requestCharge = BitConverter.ToDouble(rowSet.Info.IncomingPayload["RequestCharge"].Reverse().ToArray(), 0);
詳細については、「クイック スタート: .NET SDK と Azure Cosmos DB を使用して Cassandra アプリを構築する」を参照してください。
次のステップ
RU 使用量を最適化する方法については、次の記事をご覧ください。