Skip to content

Commit c44bf48

Browse files
committed
Merge branch 'master' of github.com:arramac/azure-docs-pr
2 parents 5f47eb1 + 0af6d3b commit c44bf48

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

articles/cosmos-db/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@
216216
href: online-backup-and-restore.md
217217
- name: Compliance
218218
href: compliance.md
219+
- name: Limits
220+
href: concepts-limits.md
219221
- name: Cassandra, MongoDB, and other APIs
220222
expanded: true
221223
items:

articles/cosmos-db/concepts-limits.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ms.date: 05/19/2019
99
---
1010

1111
# Limits in Azure Cosmos DB
12+
1213
This article provides an overview of the limits in the Azure Cosmos DB service.
1314

1415
## Storage and throughput
@@ -33,7 +34,7 @@ A Cosmos container (or shared throughput database) must have a minimum throughpu
3334

3435
* The maximum storage consumed in the container is measured in increments of 40 RUs per GB of consumed storage. For example, if a container contains 100 GB of data, then the throughput must be at least 4000 RUs
3536
* The maximum throughput ever provisioned on the container. The service supports lowering throughput of a container to 10% of the provisioned maximum. For example, if your throughput was increased to 10000 RUs, then the lowest possible provisioned throughput would be 1000 RUs
36-
* The total number of containers that you have ever created in a shared database, measured at 100 RUs per container. For example, if you have created five containers within a shared database, then the throughput must be at least 500 RUs
37+
* The total number of containers that you have ever created in a shared throughput database, measured at 100 RUs per container. For example, if you have created five containers within a shared throughput database, then the throughput must be at least 500 RUs
3738

3839
The current and minimum throughput of a container or a database can be retrieved from the Azure portal or the SDKs. For more information, see [Provision throughput on containers and databases](set-throughput.md). In summary, here are the minimum provisioned RU limits.
3940

@@ -47,6 +48,7 @@ The current and minimum throughput of a container or a database can be retrieved
4748
Cosmos DB supports elastic scaling of throughput (RUs) per container or database via the SDKs or portal. Each container can scale synchronously and immediately within a scale range of 10 to 100 times, between minimum and maximum values. If the requested throughput value is outside the range, scaling is performed asynchronously. Asynchronous scaling may take minutes to hours to complete depending on the requested throughput and data storage size in the container.
4849

4950
## Control plane operations
51+
5052
You can [provision and manage your Azure Cosmos account](how-to-manage-database-account.md) using the Azure portal, Azure PowerShell, Azure CLI, and Azure Resource Manager templates. The following table lists the limits per subscription, account, and number of operations.
5153

5254
| Resource | Default limit |
@@ -60,6 +62,7 @@ You can [provision and manage your Azure Cosmos account](how-to-manage-database-
6062
Cosmos DB automatically takes backups of your data at regular intervals. For details on backup retention intervals and windows, see [Online backup and on-demand data restore in Azure Cosmos DB](online-backup-and-restore.md).
6163

6264
## Per-container limits
65+
6366
Depending on which API you use, an Azure Cosmos container can represent either a collection, a table, or graph. Containers support configurations for [unique key constraints](unique-keys.md), [stored procedures, triggers, and UDFs](stored-procedures-triggers-udfs.md), and [indexing policy](how-to-manage-indexing-policy.md). The following table lists the limits specific to configurations within a container.
6467

6568
| Resource | Default limit |
@@ -71,9 +74,10 @@ Depending on which API you use, an Azure Cosmos container can represent either a
7174
| Maximum number of unique keys per container|10 <sup>*</sup>|
7275
| Maximum number of paths per unique key constraint|16 <sup>*</sup>|
7376

74-
<sup>*</sup> You can increase any of these per-contianer limits by contacting Azure Support or contacting us via [Ask Cosmos DB](mailto:[email protected]).
77+
<sup>*</sup> You can increase any of these per-container limits by contacting Azure Support or contacting us via [Ask Cosmos DB](mailto:[email protected]).
7578

7679
## Per-item limits
80+
7781
Depending on which API you use, an Azure Cosmos item can represent either a document in a collection, a row in a table, or a node or edge in a graph. The following table shows the limits per item in Cosmos DB.
7882

7983
| Resource | Default limit |
@@ -91,15 +95,16 @@ Depending on which API you use, an Azure Cosmos item can represent either a docu
9195
There are no restrictions on the item payloads like number of properties and nesting depth, except for the length restrictions on partition key and id values, and the overall size restriction of 2 MB. You may have to configure indexing policy for containers with large or complex item structures to reduce RU consumption. See [Modeling items in Cosmos DB](how-to-model-partition-example.md) for a real-world example, and patterns to manage large items.
9296

9397
## Per-request limits
98+
9499
Cosmos DB supports [CRUD and query operations](https://docs.microsoft.com/rest/api/cosmos-db/) against resources like containers, items, and databases.
95100

96101
| Resource | Default limit |
97102
| --- | --- |
98-
| Maximum execution time for single operations (CRUD or single paginated query)| 5 sec |
103+
| Maximum execution time for a single operation (like a stored procedure execution or a single query page retrieval)| 5 sec |
99104
| Maximum request size (stored procedure, CRUD)| 2 MB |
100105
| Maximum response size (for example, paginated query) | 4 MB |
101106

102-
Once an operation like query reaches the execution timeout or response size limit, it returns a page of results and a continuation token to the client to resume execution. There is no practical limit on the duration a single query can run across pages/continuations.
107+
Once an operation like query reaches the execution timeout or response size limit, it returns a page of results and a continuation token to the client to resume execution. There is no practical limit on the duration a single query can run across pages/continuations.
103108

104109
Cosmos DB uses HMAC for authorization. You can use either a master key, or a [resource tokens](secure-access-to-data.md) for fine-grained access control to resources like containers, partition keys, or items. The following table lists limits for authorization tokens in Cosmos DB.
105110

@@ -113,6 +118,7 @@ Cosmos DB uses HMAC for authorization. You can use either a master key, or a [re
113118
Cosmos DB supports execution of triggers during writes. The service supports a maximum of one pre-trigger and one post-trigger per write operation.
114119

115120
## SQL query limits
121+
116122
Cosmos DB supports querying items using [SQL](how-to-sql-query.md). The following table describes restrictions in query statements, for example in terms of number of clauses or query length.
117123

118124
| Resource | Default limit |
@@ -128,21 +134,23 @@ Cosmos DB supports querying items using [SQL](how-to-sql-query.md). The followin
128134
<sup>*</sup> You can increase any of these SQL query limits by contacting Azure Support or contacting us via [Ask Cosmos DB](mailto:[email protected]).
129135

130136
## MongoDB API-specific limits
131-
Cosmos DB supports the MongoDB wire protocol for applications written against MongoDB. You can find the supported commands and protocol versions at [Supported MongoDB features and syntax](mongodb-feature-support.md).
132137

133-
The following table lists the limits specific to MongoDB feature support. Other service limits mentioned for the core (SQL) API also apply to the MongoDB API.
138+
Cosmos DB supports the MongoDB wire protocol for applications written against MongoDB. You can find the supported commands and protocol versions at [Supported MongoDB features and syntax](mongodb-feature-support.md).
139+
140+
The following table lists the limits specific to MongoDB feature support. Other service limits mentioned for the SQL (core) API also apply to the MongoDB API.
134141

135142
| Resource | Default limit |
136143
| --- | --- |
137144
| Maximum MongoDB query memory size | 40 MB |
138145
| Maximum execution time for MongoDB operations| 30s |
139146

140147
## Try Cosmos DB Free limits
141-
The following table lists the limits for the [Try Azure Cosmos DB for Free](https://azure.microsoft.com/try/cosmosdb/) trial.
148+
149+
The following table lists the limits for the [Try Azure Cosmos DB for Free](https://azure.microsoft.com/try/cosmosdb/) trial.
142150

143151
| Resource | Default limit |
144152
| --- | --- |
145-
| Duration for the subscription | Duration of the trial (can be renewed any number of times) |
153+
| Duration of the trial | 30 days (can be renewed any number of times) |
146154
| Maximum containers per subscription (SQL, Gremlin, Table API) | 1 |
147155
| Maximum containers per subscription (MongoDB API) | 3 |
148156
| Maximum throughput per container | 5000 |
@@ -151,4 +159,8 @@ The following table lists the limits for the [Try Azure Cosmos DB for Free](http
151159

152160
Try Cosmos DB supports global distribution in only the Central US, North Europe, and Southeast Asia regions. Azure support tickets can't be created for Try Azure Cosmos DB accounts. However, support is provided for subscribers with existing support plans.
153161

154-
<sup>1</sup> You can increase these limits by contacting Azure Support or contacting us via [Ask Cosmos DB](mailto:[email protected]).
162+
## Next steps
163+
164+
* Learn more about [Provisioned throughput in Cosmos DB](request-units.md)
165+
* [How to manage conflict resolution policies](how-to-manage-conflicts.md)
166+
* [How to read from the conflicts feed](how-to-manage-conflicts.md#read-from-conflict-feed)

0 commit comments

Comments
 (0)