Skip to content

Commit ad214ac

Browse files
Merge pull request #279505 from gahl-levy/vcore-service-limits
New Doc
2 parents ced0db1 + c1c6808 commit ad214ac

File tree

2 files changed

+116
-1
lines changed

2 files changed

+116
-1
lines changed

articles/cosmos-db/mongodb/vcore/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@
4949
- name: Compute and storage
5050
href: compute-storage.md
5151
- name: Migration options
52-
href: migration-options.md
52+
href: migration-options.md
53+
- name: Service limits
54+
href: limits.md
5355
- name: Security
5456
items:
5557
- name: Security overview
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
title: Service Limits in Azure Cosmos DB for MongoDB vCore
3+
description: This document outlines the service limits for vCore-based Azure Cosmos DB for MongoDB.
4+
author: gahl-levy
5+
ms.author: gahllevy
6+
ms.service: cosmos-db
7+
ms.subservice: mongodb-vcore
8+
ms.topic: conceptual
9+
ms.date: 06/27/2024
10+
---
11+
12+
# Service Limits in Azure Cosmos DB for MongoDB vCore
13+
14+
This document outlines the current hard and soft limits for Azure Cosmos DB for MongoDB vCore. Many of these limitations are temporary and will evolve over time as the service continues to improve. If any of these limits are an issue for your organization, please [reach out to our team](mailto:[email protected]) for assistance.
15+
16+
## Query and Execution Limits
17+
18+
### MongoDB Execution Limits
19+
- Maximum transaction lifetime: 30 seconds.
20+
- Cursor lifetime: 10 minutes. Note: A cursorNotFound error might occur if the cursor exceeds its lifetime.
21+
- Default query execution limit: 120 seconds. This can be overridden on a per-query basis using `maxTimeMS` in the respective MongoDB driver.
22+
#### Example:
23+
```javascript
24+
db.collection.find({ field: "value" }).maxTimeMS(5000)
25+
```
26+
27+
### Maximum MongoDB Query Size
28+
- The maximum memory size for MongoDB queries depends on the tier. For example, for M80, the query memory size limit is approximately 150 MiB.
29+
- In sharded clusters, if a query pulls data across nodes, the limit on that data size is 1GB.
30+
31+
## Indexing Limits
32+
33+
### General Indexing Limits
34+
- Maximum number of compound index fields: 32.
35+
- Maximum size for `_id` field value: 2KB.
36+
- Maximum size for index path: 256B.
37+
- Default maximum: 64.
38+
- Configurable up to: 300 indexes per collection.
39+
- Sorting is done in memory and doesn't push down to the index.
40+
- Maximum level of nesting for embedded objects/arrays on index definitions: 6.
41+
- Background index builds are in preview. To enable, please [reach out to our team](mailto:[email protected]) for assistance.
42+
- A single index build can be in progress on the same collection.
43+
- The number of simultaneous index builds on different collections is configurable (default: 2).
44+
- Use the `currentOp` command to view the progress of long-running index builds.
45+
- Unique index builds are done in the foreground and block writes in the collection.
46+
47+
### Wildcard Indexing Limits
48+
- For wildcard indexes, if the indexed field is an array of arrays, the entire embedded array is taken as a value instead of traversing its contents.
49+
50+
### Geospatial Indexing Limits
51+
- No support for BigPolygons.
52+
- Composite indexes don't support geospatial indexes.
53+
- `$geoWithin` query doesn't support polygons with holes.
54+
- The `key` field is required in the `$geoNear` aggregation stage.
55+
- Indexes are recommended but not required for `$near`, `$nearSphere` query operators, and the `$geoNear` aggregation stage.
56+
57+
### Text Index Limits
58+
- Only one text index can be defined on a collection.
59+
- Supports simple text searches only; advanced search capabilities like regular expression searches aren't supported.
60+
- `hint()` isn't supported in combination with a query using `$text` expression.
61+
- Sort operations can't use the ordering of the text index.
62+
- Tokenization for Chinese, Japanese, Korean isn't supported yet.
63+
- Case insensitive tokenization isn't supported yet.
64+
65+
### Vector Search Limits
66+
- Indexing vectors up to 2,000 dimensions in size.
67+
- Indexing applies to only one vector per path.
68+
- Only one index can be created per vector path.
69+
70+
## Cluster and Shard Limits
71+
72+
### Cluster Tier
73+
- Maximum: M200. Please [reach out to our team](mailto:[email protected]) for higher tiers.
74+
75+
### Shards
76+
- Maximum: 6 (in preview). Please [reach out to our team](mailto:[email protected]) for additional shards.
77+
78+
### Secondary Regions
79+
- Maximum: 1 additional secondary region. Please [reach out to our team](mailto:[email protected]) for additional regions.
80+
81+
### Free Tier Limits
82+
The following limitations can be overridden by upgrading a paid tier
83+
- Maximum storage: 32GB.
84+
- Backup / Restore not supported (available in M25+)
85+
- High availability (HA) not supported (available in M30+)
86+
- HNSW vector indexes not supported (available in M40+)
87+
- Diagnostic logging not supported (available in M30+)
88+
- No service-level-agreement provided (requires HA to be enabled)
89+
- Free tier clusters are paused after 60 days of inactivity where there are no connections to the cluster.
90+
91+
## Replication and HA Limits
92+
93+
### Cross-Region Replication (Preview)
94+
- Supported only on single shard (node) vCore clusters.
95+
- The following configurations are the same on both primary and replica clusters and can't be changed on the replica cluster:
96+
- Compute configuration
97+
- Storage and shard count
98+
- User accounts
99+
- HA isn't supported on replica clusters.
100+
- Cross-region replication isn't available on clusters with burstable compute or Free tier clusters.
101+
102+
## Miscellaneous Limits
103+
104+
### Portal Mongo Shell Usage
105+
- The Portal Mongo Shell can be used for 120 minutes within a 24-hour window.
106+
107+
## Next steps
108+
109+
- Get started by [creating a cluster.](quickstart-portal.md).
110+
- Review options for [migrating from MongoDB to Azure Cosmos DB for MongoDB vCore.](migration-options.md)
111+
112+
113+

0 commit comments

Comments
 (0)