要求ユニットを検出する
Azure Cosmos DB では、プロビジョニングするスループットおよび消費するストレージに対して時間単位で支払います。 Azure Cosmos データベースで常に十分なシステム リソースを確実に使用できるようにするには、スループットをプロビジョニングする必要があります。
すべてのデータベース操作のコストは、Azure Cosmos DB によって正規化され、要求ユニット (省略形は RU) で表現されます。 要求ユニットは、Azure Cosmos DB によってサポートされるデータベース操作を実行するために必要な CPU、IOPS、メモリなどのシステム リソースを表します。
単一項目をその ID とパーティション キーの値でフェッチするポイント読み取りを行うためのコストは、1 KB の項目の場合で 1 RU になります。 その他のすべてのデータベース操作にも、同様に RU を使用してコストが割り当てられます。 Azure Cosmos コンテナーの操作に使う API に関係なく、コストは RU によって測定されます。 データベース操作が書き込み、ポイント読み取り、またはクエリのいずれの場合でも、コストは RU で測定されます。
次の図では、RU の高度な概念を示します。
使用している Azure Cosmos DB アカウントの種類によって、使用した RU に対する課金方法が決まります。 アカウントを作成できるモードには次の 3 つがあります。
プロビジョニング スループット モード:このモードでは、アプリケーションの RU の数は秒単位でプロビジョニングします (増分は 100 RU/秒)。 アプリケーション用にプロビジョニング済みスループットをスケーリングするために、いつでも RU の値を増やしたり減らしたりできます (100 RU 単位での増減)。 変更は、プログラムまたは Azure portal を使用して行うことができます。 コンテナーおよびデータベースの細分性レベルでスループットをプロビジョニングできます。
サーバーレス モード: このモードでは、Azure Cosmos DB アカウントでリソースを作成するときに、スループットをプロビジョニングする必要はありません。 請求期間の最後に、データベース操作で消費された要求ユニットの数に対して課金されます。
自動スケーリング モード: このモードでは、使用状況に基づいて、データベースまたはコンテナーのスループット (RU/秒) を自動的かつ瞬時にスケーリングできます。 このスケーリング操作は、ワークロードの可用性、待機時間、スループット、パフォーマンスに影響しません。 このモードは、変動し予測できないトラフィック パターンを持ち、かつハイ パフォーマンスとスケーリングに対する SLA を必要とするミッション クリティカルなワークロードに最適です。