プロビジョニングされたスループットのグローバルなスケーリングGlobally scale provisioned throughput

Azure Cosmos DB では、プロビジョニングされたスループットは要求ユニット/秒 (RU/s、複数形は RUs) として表現されます。In Azure Cosmos DB, provisioned throughput is represented as request units/second (RU/s or the plural form RUs). 次の図に示すように、RU は Cosmos コンテナーに対する読み書き両方の操作のコストを測定します。RUs measure the cost of both read and write operations against your Cosmos container as shown in the following image:

要求ユニット

RU は Cosmos コンテナーまたは Cosmos データベースにプロビジョニングできます。You can provision RUs on a Cosmos container or a Cosmos database. コンテナーにプロビジョニングされた RU は、そのコンテナーに対して実行される操作についてのみ使用できます。RUs provisioned on a container are exclusively available for the operations performed on that container. データベースにプロビジョニングされた RU は、そのデータベース内のすべてのコンテナー間で共有されます (排他的に割り当てられた RU を持つコンテナーを除く)。RUs provisioned on a database are shared among all the containers within that database (except for any containers with exclusively assigned RUs).

プロビジョニングされたスループットを弾力的にスケーリングするために、プロビジョニングされた RU/秒をいつでも増減できます。For elastically scaling provisioned throughput, you can increase or decrease the provisioned RU/s at any time. 詳細については、スループットのプロビジョニングに関する方法、および Cosmos コンテナーとデータベースを柔軟にスケーリングする方法に関するページを参照してください。For more information, see How-to provision throughput and to elastically scale Cosmos containers and databases. スループットをグローバルにスケーリングするために、Cosmos アカウントからリージョンをいつでも追加したり削除したりすることができます。For globally scaling throughput, you can add or remove regions from your Cosmos account at any time. 詳細については、「データベース アカウントのリージョンの追加/削除」を参照してください。For more information, see Add/remove regions from your database account. Cosmos アカウントに複数のリージョンを関連付けることは、短い待機時間と高い可用性を世界中で実現するために多くのシナリオで重要です。Associating multiple regions with a Cosmos account is important in many scenarios - to achieve low latency and high availability around the world.

プロビジョニングされたスループットのリージョン間での分散方法How provisioned throughput is distributed across regions

Cosmos コンテナー (またはデータベース) に 'R' 個の RU をプロビジョニングする場合、Cosmos DB により、Cosmos アカウントに関連付けられているそれぞれのリージョンで 'R' 個の RU が利用可能であることが確保されます。If you provision 'R' RUs on a Cosmos container (or database), Cosmos DB ensures that 'R' RUs are available in each region associated with your Cosmos account. アカウントに新しいリージョンを追加するたびに、Cosmos DB では、新しく追加されたリージョンに 'R' 個の RU を自動的にプロビジョニングされます。Each time you add a new region to your account, Cosmos DB automatically provisions 'R' RUs in the newly added region. Cosmos コンテナーに対して実行される操作は、各リージョンで 'R' 個の RU を取得することが確保されます。The operations performed against your Cosmos container are guaranteed to get 'R' RUs in each region. 特定のリージョンに RU を選択的に割り当てることはできません。You can't selectively assign RUs to a specific region. Cosmos コンテナー (またはデータベース) でプロビジョニングされた RU は、Cosmos アカウントに関連付けられているすべてのリージョンでプロビジョニングされます。The RUs provisioned on a Cosmos container (or database) are provisioned in all the regions associated with your Cosmos account.

Cosmos コンテナーに 'R' 個の RU が構成され、Cosmos アカウントに 'N' 個のリージョンが関連付けられていると仮定すると、次のようになります。Assuming that a Cosmos container is configured with 'R' RUs and there are 'N' regions associated with the Cosmos account, then:

  • Cosmos アカウントに単一の書き込みリージョンが構成されている場合、コンテナーでグローバルに利用可能な RU の合計は R x N 個です。If the Cosmos account is configured with a single write region, the total RUs available globally on the container = R x N.

  • Cosmos アカウントに複数の書き込みリージョンが構成されている場合、コンテナーでグローバルに利用可能な RU の合計は R x (N+1) 個です。If the Cosmos account is configured with multiple write regions, the total RUs available globally on the container = R x (N+1). 追加の R 個の RU は、更新の競合およびリージョン間でのアンチエントロピ トラフィックを処理するために自動的にプロビジョニングされます。The additional R RUs are automatically provisioned to process update conflicts and anti-entropy traffic across the regions.

選択した整合性モデルもスループットに影響します。Your choice of consistency model also affects the throughput. 整合性レベルが比較的緩やかな場合 (セッション一貫性のあるプレフィックス最終的など)、比較的強固な場合 (有界整合性制約厳密など) と比べ、ほぼ 2 倍の読み取りスループットを得ることができます。You can get approximately 2x read throughput for the more relaxed consistency levels (e.g., session, consistent prefix and eventual consistency) compared to stronger consistency levels (e.g., bounded staleness or strong consistency).

次の手順Next steps

次のステップでは、コンテナーまたはデータベースのスループットを構成する方法を学習できます。Next you can learn how to configure throughput on a container or database: