Resources

+
~

The Cosmos DB hierarchy is made up of four different resources:

Account

The Cosmos DB account is the base resource providing global distribution and high availability. The account contains the DNS definition and which regions your data is available in.

Currently you can have up to 50 different Cosmos DB accounts under a single subscription, with more available via support request.

Database

You can create one or more databases under a single Cosmos DB account. A database is a namespace for grouping and managing containers.

Container

The Cosmos DB container is the fundamental unit of scalability. You can have virtually unlimited throughput and storage on a container. This is achieved by sharding your database across multiple servers using your partition key.

Partitions in Cosmos DB are effectively shards. There are two levels to Azure managed partitioning: logical and physical.

Data is arranged into logical partitions with a maximum size of 20GB via your selected partition key. Logical partitions are assigned to physical servers, creating physical partitions. Physical partitions have a maximum size of 50GB.

Each individual physical partition can support up to 10,000 RU/s throughput.

When you create a container you specify one of two throughput modes:

Item

Items are the leaf nodes of the Cosmos DB resource hierarchy. Depending on which API you use, these resourced are realised as different types:

API for NoSQL API for Cassandra API for MongoDB API for Gremlin API for Table
Item Row Document Node or edge Item