リソース階層を調べる

完了

Azure Cosmos DB アカウントは、グローバルな分散と高可用性の基本単位です。 Azure Cosmos DB アカウントには固有の DNS 名が含まれており、Azure portal または Azure CLI を使用するか、別の言語固有の SDK を使用してアカウントを管理できます。 データやスループットを複数の Azure リージョンにグローバルに分散させる場合は、お使いのアカウントに、いつでも Azure リージョンを追加したり、削除したりすることができます。

Azure Cosmos DB アカウントの要素

Azure Cosmos DB コンテナーはスケーラビリティの基本単位です。 コンテナー上に持つことができるプロビジョニング スループット (RU/秒) とストレージは事実上無制限です。 Azure Cosmos DB では、プロビジョニング スループットとストレージを柔軟にスケーリングするために、指定した論理パーティション キーを使用してコンテナーを透過的に分割します。

現時点では、Azure サブスクリプションに最大で 50 の Azure Cosmos DB アカウントを作成できます (これはサポート リクエストを通じて増加できるソフト制限です)。 Azure サブスクリプションでアカウントを作成したら、データベース、コンテナー、および項目を作成することによって、アカウント内のデータを管理できます。

次の画像は、Azure Cosmos DB アカウントのさまざまなエンティティの階層を示しています。

Image showing the hierarchy of Azure Cosmos DB entities: Database accounts are at the top, Databases are grouped under accounts, Containers are grouped under databases.

Azure Cosmos DB データベース

アカウントには 1 つまたは複数の Azure Cosmos DB データベースを作成できます。 データベースは名前空間に似ています。 データベースは、Azure Cosmos DB コンテナーのセットの管理単位です。

Azure Cosmos DB コンテナー

Azure Cosmos DB コンテナーは、プロビジョニングされたスループットとストレージの両方のスケーラビリティの単位です。 コンテナーは水平方向にパーティション分割され、その後、複数のリージョン間でレプリケートされます。 コンテナーに追加した項目は、パーティション キーに基づいて、論理パーティションに自動的にグループ化され、物理パーティション全体で自動的に分散されます。 コンテナー上のスループットは、物理パーティション全体で均等に分散されます。

コンテナーを作成するときには、次のいずれかのモードでスループットを構成します。

  • 専用プロビジョニング スループット モード: コンテナーにプロビジョニングされたスループットは、そのコンテナー専用に予約され、SLA によってバックアップされます。

  • 共有プロビジョニング スループット モード: これらのコンテナーでは、同じデータベース内の他のコンテナー (専用プロビジョニング スループットで構成されたコンテナーを除く) とプロビジョニング スループットを共有します。 つまり、データベース上のプロビジョニング スループットは、すべての "共有スループット" コンテナー間で共有されます。

コンテナーは、スキーマに依存しない、項目のコンテナーです。 コンテナー内の項目には、任意のスキーマを含めることができます。 たとえば、人物を表す項目と自動車を表す項目を同じコンテナーに配置できます。 既定では、コンテナーに追加するすべての項目に自動的にインデックスが付けられ、明示的なインデックスやスキーマ管理は必要とされません。

Azure Cosmos DB 項目

使用する API に応じて、Azure Cosmos DB 項目では、コレクション内のドキュメント、テーブル内の行、グラフ内のノードまたはエッジのいずれかを表すことができます。