You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/cosmos-db/mongodb/choose-model.md
+46-16Lines changed: 46 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ ms.reviewer: gahllevy
8
8
ms.service: cosmos-db
9
9
ms.subservice: mongodb
10
10
ms.topic: overview
11
-
ms.date: 03/09/2023
11
+
ms.date: 09/12/2023
12
12
---
13
13
14
14
# What is RU-based and vCore-based Azure Cosmos DB for MongoDB?
@@ -17,27 +17,57 @@ Azure Cosmos DB is a fully managed NoSQL and relational database for modern app
17
17
18
18
Both, the Request Unit (RU) and vCore-based Azure Cosmos DB for MongoDB offering make it easy to use Azure Cosmos DB as if it were a MongoDB database. Both options work without the overhead of complex management and scaling approaches. You can use your existing MongoDB skills and continue to use your favorite MongoDB drivers, SDKs, and tools by pointing your application to the connection string for your account using the API for MongoDB. Additionally, both are cloud-native offerings that can be integrated seamlessly with other Azure services to build enterprise-grade modern applications.
19
19
20
-
## Choosing between RU-based and vCore-based options
20
+
## Choose between RU-based and vCore-based
21
21
22
-
Here are a few key factors to help you decide which is the right architecture for you:
22
+
Here are a few key factors to help you decide which is the right option for you.
23
23
24
-
| Factor | RU-based | vCore-based |
25
-
| ----------- | ----------- | -------|
26
-
| What do you want to do |• Works well if you're trying to build new cloud-native MongoDB apps or refactor existing apps for all the benefits of a cloud-native offering |• Works well if you're trying to lift and shift existing MongoDB apps and run them as-is on a fully supported managed service. |
27
-
| What are your availability needs |• Offers upto [99.999%](../high-availability.md#slas) of availability with multi-region deployments |• Offers competitive SLA (once generally available) |
28
-
| How do you want to scale |• Offers limitless horizontal scalability, instantaneous scale up and granular throughput control. |• Offers high-capacity vertical and horizontal scaling with familiar vCore-based cluster tier options to choose from. |
29
-
| What are your top read & query patterns |• Works well for workloads with more point reads *(fetching a single item by its ID and shard key value)* and lesser long running queries and complex aggregation pipeline operations. |• Works irrespective of the operation types in your workload. Operations may include workloads with long-running queries, complex aggregation pipelines, distributed transactions, joins, etc. |
24
+
### Choose RU-based if
25
+
26
+
- You're building new cloud-native MongoDB apps or refactoring existing apps for cloud-native benefits.
27
+
- Your workload has more point reads (fetching a single item by its _id and shard key value) and few long-running queries and complex aggregation pipeline operations.
28
+
- You want limitless horizontal scalability, instantaneous scale up, and granular throughput control.
[**Get started with Azure Cosmos DB for MongoDB RU**](./quickstart-python.md)
32
+
33
+
### Choose vCore-based if
34
+
35
+
- You're migrating (lift & shift) an existing MongoDB workload or building a new MongoDB application.
36
+
- Your workload has more point reads (fetching a single item by its ID and shard key value) and few long-running queries and complex aggregation pipeline operations.
37
+
- You prefer high-capacity vertical and horizontal scaling with familiar vCore-based cluster tiers such as M30, M40, M50 and more.
[**Get started with Azure Cosmos DB for MongoDB vCore**](./vcore/quickstart-portal.md)
41
+
42
+
> [!TIP]
43
+
> Want to try the Azure Cosmos DB for MongoDB with no commitment? Create an Azure Cosmos DB account using [Try Azure Cosmos DB](../try-free.md) for free.
30
44
31
45
## Resource and billing differences between the options
32
46
33
-
There are differences between the offerings in the way the resources are assigned and billed on the platform:
47
+
The RU and vCore services have different architectures with important billing differences.
48
+
49
+
### RU-based resources and billing
50
+
51
+
- You'd like a multi-tenant service that instantly allocates resources to your workload, aligning with storage and throughput requirements.
52
+
53
+
> [!NOTE]
54
+
> Throughput is based on [Request Units (RUs)](../request-units.md).
55
+
56
+
- You prefer to pay fixed (standard provisioned throughput) or variable (autoscale) fees corresponding to Request Units (RUs) and consumed storage.
57
+
58
+
> [!NOTE]
59
+
> RU charges depend on the selected model: provisioned throughput (standard or autoscale) or serverless.
60
+
61
+
[**Get started with Azure Cosmos DB for MongoDB RU**](./quickstart-python.md)
62
+
63
+
### vCore-based resources and billing
64
+
65
+
- You'd like dedicated instances that utilize preset CPU, memory, and storage resources, which can dynamically scale to suit your needs.
66
+
- You prefer to pay a consistent flat fee based on compute (CPU, memory, and the number of nodes) and storage.
34
67
35
-
| Resource details | RU-based | vCore-based |
36
-
| ----------- | ----------- | -------|
37
-
| How are the resources assigned |• This option is a multi-tenant service that instantly assigns resources to the workload to meet its storage and throughput needs. <br/>• Throughput uses the concept of [Request Units (RUs)](../request-units.md). |• This option provides dedicated instances using preset CPU, memory and storage resources that scale to meet your needs. |
38
-
| How are the resources billed |• You pay variable fees for the RUs and consumed storage. <br/>• RU charges are based on the choice of the model: provisioned throughput (standard or autoscale) or serverless. |• You pay consistent flat fee based on the compute (CPU, memory and the number of nodes) and storage. |
68
+
[**Get started with Azure Cosmos DB for MongoDB vCore**](./vcore/quickstart-portal.md)
39
69
40
70
## Next steps
41
71
42
-
-[Create a Go app](quickstart-go.md) using Azure Cosmos DB for MongoDB.
43
-
- Deploy Azure Cosmos DB for MongoDB vCore [using a Bicep template](vcore/quickstart-bicep.md).
Does Azure Cosmos DB for MongoDB support my data residency requirements?
20
+
answer: |
21
+
Yes, data residency is governed at the database account level, which is associated with one or more regions. Typically, you create a database account for each residency requirement. For example, if you have a requirement to store data in the US and EU, you would create two database accounts, one in the US and one in the EU.
22
+
- question: |
23
+
Does Azure Cosmos DB for MongoDB support documents larger than 2 MB?
24
+
answer: |
25
+
Yes, documents as large as 16 MB are fully supported.
26
+
- question: |
27
+
Does Azure Cosmos DB for MongoDB support multi-field sort?
28
+
answer: |
29
+
Yes, multi-field sort is supported. A compound index is required for the fields in the sort to ensure the operation is efficient and scalable.
30
+
- question: |
31
+
Does Azure Cosmos DB for MongoDB scale linearly?
32
+
answer: |
33
+
In many cases, Azure Cosmos DB's costs scale better than linear. For example, if you read a 1-KB document, this operation equates to one Request Unit (RU). But if you read a 10-KB document, this larger operation still equates to roughly one RU. The [capacity calculator](https://cosmos.azure.com/capacitycalculator/) can help you estimate your throughput needs.
34
+
- question: |
35
+
How can I encrypt data and manage access at the field level?
36
+
answer: |
37
+
Azure Cosmos DB for MongoDB supports Field Level Encryption.
38
+
- question: |
39
+
How do I pay for Request Units (RUs)?
40
+
answer: |
41
+
Azure Cosmos DB for MongoDB offers three capacity modes: provisioned throughput, autoscale, and serverless. Autoscale instantaneously scales to meet your needs, and serverless only charges for the throughput you use.
42
+
- question: |
43
+
Which features are supported in Azure Cosmos DB for MongoDB?
44
+
answer: |
45
+
Azure Cosmos DB for MongoDB supports a rich set of MongoDB features backed by Azure Cosmos DB's limitless scale architecture. These features include: Aggregation pipelines, Change streams, Indexes, Geospatial queries, and more. For more information, see [feature support matrix](feature-support-42.md). Not sure if your workload is ready?
46
+
- question: |
47
+
Does Azure Cosmos DB for MongoDB run on-premises?
48
+
answer: |
49
+
Azure Cosmos DB for MongoDB is a cloud-native multi-tenant service and isn't available on-premises. Azure Cosmos DB offers an [emulator for local development and testing](../emulator.md).
0 commit comments