Skip to content

Commit 345aa7d

Browse files
authored
Document shared database containers constraints
1 parent b2afffc commit 345aa7d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

articles/cosmos-db/set-throughput.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The following image shows how a physical partition hosts one or more logical par
3636

3737
## Set throughput on a database
3838

39-
When you provision throughput on an Azure Cosmos database, the throughput is shared across all the containers in the database. An exception is if you specified a provisioned throughput on specific containers in the database. Sharing the database-level provisioned throughput among its containers is analogous to hosting a database on a cluster of machines. Because all containers within a database share the resources available on a machine, you naturally do not get predictable performance on any specific container. To learn how to configure provisioned throughput on a database, see [Configure provisioned throughput on an Azure Cosmos database](how-to-provision-database-throughput.md).
39+
When you provision throughput on an Azure Cosmos database, the throughput is shared across all the containers (called shared database containers) in the database. An exception is if you specified a provisioned throughput on specific containers in the database. Sharing the database-level provisioned throughput among its containers is analogous to hosting a database on a cluster of machines. Because all containers within a database share the resources available on a machine, you naturally do not get predictable performance on any specific container. To learn how to configure provisioned throughput on a database, see [Configure provisioned throughput on an Azure Cosmos database](how-to-provision-database-throughput.md).
4040

4141
Setting throughput on an Azure Cosmos database guarantees that you receive the provisioned throughput for that database all the time. Because all containers within the database share the provisioned throughput, Azure Cosmos DB doesn't provide any predictable throughput guarantees for a particular container in that database. The portion of the throughput that a specific container can receive is dependent on:
4242

@@ -56,7 +56,7 @@ All containers created inside a database with provisioned throughput must be cre
5656

5757
If the workload on a logical partition consumes more than the throughput that's allocated to a specific logical partition, your operations are rate-limited. When rate-limiting occurs, you can either increase the throughput for the entire database or retry the operations. For more information on partitioning, see [Logical partitions](partition-data.md).
5858

59-
Multiple logical partitions that belong to different containers that share the throughput provisioned to a database can be hosted on a single physical partition. While a single logical partition of a container is always scoped within a physical partition, *"L"* logical partitions across *"C"* containers that share the provisioned throughput of a database can be mapped and hosted on *"R"* physical partitions.
59+
The shards of shared database containers are co-located, and up to 25 containers can potentially use the provisioned throughput. Beyond 25 containers, for every additional 25 containers added throughput accessible for all the containers reduces linearly
6060

6161
The following image shows how a physical partition can host one or more logical partitions that belong to different containers within a database:
6262

@@ -74,6 +74,8 @@ You can combine the two models. Provisioning throughput on both the database and
7474
* The *"K"* RUs throughput is shared across the four containers *A*, *C*, *D*, and *E*. The exact amount of throughput available to *A*, *C*, *D*, or *E* varies. There are no SLAs for each individual container’s throughput.
7575
* The container named *B* is guaranteed to get the *"P"* RUs throughput all the time. It's backed by SLAs.
7676

77+
**NOTE: A container with provisioned throughput cannot be converted to shared database container. Conversely a shared database container cannot be converted to have a dedicated throughput**
78+
7779
## Update throughput on a database or a container
7880

7981
After you create an Azure Cosmos container or a database, you can update the provisioned throughput. There is no limit on the maximum provisioned throughput that you can configure on the database or the container. The minimum provisioned throughput depends on the following factors:

0 commit comments

Comments
 (0)