Skip to content

Commit a0b8bf3

Browse files
Merge pull request #251153 from seesharprun/rework-mongodb-toc-introduction
Cosmos DB | Rework MongoDB RU/vCore
2 parents 84b8b98 + da5542b commit a0b8bf3

File tree

9 files changed

+272
-159
lines changed

9 files changed

+272
-159
lines changed

articles/cosmos-db/.openpublishing.redirection.cosmos-db.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6159,6 +6159,11 @@
61596159
"source_path_from_root": "/articles/cosmos-db/nosql/query/geospatial-query.md",
61606160
"redirect_url": "/azure/cosmos-db/nosql/how-to-geospatial-index-query",
61616161
"redirect_document_id": false
6162+
},
6163+
{
6164+
"source_path_from_root": "/articles/cosmos-db/mongodb/introduction.md",
6165+
"redirect_url": "/azure/cosmos-db/mongodb/ru/introduction",
6166+
"redirect_document_id": true
61626167
}
61636168
]
61646169
}

articles/cosmos-db/mongodb/TOC.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1+
- name: What is Azure Cosmos DB for MongoDB?
2+
href: overview.md
13
- name: Choose your model
24
href: choose-model.md
35
- name: Comparing MongoDB Atlas
46
href: cosmos-db-vs-mongodb-atlas.md
5-
- name: RU-based
7+
- name: FAQ
8+
href: faq.yml
9+
- name: RU
610
items:
7-
- name: RU-based MongoDB documentation
11+
- name: MongoDB RU documentation
812
href: index.yml
913
- name: Overview
1014
items:
11-
- name: What is Azure Cosmos DB for MongoDB?
12-
href: introduction.md
15+
- name: What is Azure Cosmos DB for MongoDB RU?
16+
href: ru/introduction.md
1317
- name: API versions
1418
items:
1519
- name: API version 4.2
@@ -40,7 +44,7 @@
4044
href: quickstart-go.md
4145
- name: Tutorials
4246
items:
43-
- name: 1 - Create and manage data
47+
- name: Create and manage data
4448
items:
4549
- name: Node.js console app
4650
href: nodejs-console-app.md
@@ -60,9 +64,9 @@
6064
href: tutorial-develop-nodejs-part-6.md
6165
- name: Node.js and React app
6266
href: tutorial-develop-react.md
63-
- name: 2 - Query data
67+
- name: Query data
6468
href: tutorial-query.md
65-
- name: 3 - Distribute data globally
69+
- name: Distribute data globally
6670
href: tutorial-global-distribution.md
6771
- name: Aggregation pipeline
6872
href: tutorial-aggregation.md
@@ -634,5 +638,5 @@
634638
href: ../use-cases.md
635639
- name: Social media apps
636640
href: ../social-media-apps.md
637-
- name: vCore-based
641+
- name: vCore
638642
href: vcore/toc.yml

articles/cosmos-db/mongodb/choose-model.md

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.reviewer: gahllevy
88
ms.service: cosmos-db
99
ms.subservice: mongodb
1010
ms.topic: overview
11-
ms.date: 03/09/2023
11+
ms.date: 09/12/2023
1212
---
1313

1414
# 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
1717

1818
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.
1919

20-
## Choosing between RU-based and vCore-based options
20+
## Choose between RU-based and vCore-based
2121

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.
2323

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.
29+
- You're running mission-critical applications requiring industry-leading 99.999% availability.
30+
31+
[**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.
38+
- You're running applications requiring 99.995% availability.
39+
40+
[**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.
3044
3145
## Resource and billing differences between the options
3246

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.
3467

35-
| Resource details | RU-based | vCore-based |
36-
| ----------- | ----------- | -------|
37-
| How are the resources assigned | &bull; This option is a multi-tenant service that instantly assigns resources to the workload to meet its storage and throughput needs. <br/>&bull; Throughput uses the concept of [Request Units (RUs)](../request-units.md). | &bull; This option provides dedicated instances using preset CPU, memory and storage resources that scale to meet your needs. |
38-
| How are the resources billed | &bull; You pay variable fees for the RUs and consumed storage. <br/>&bull; RU charges are based on the choice of the model: provisioned throughput (standard or autoscale) or serverless. | &bull; 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)
3969

4070
## Next steps
4171

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).
72+
> [!div class="nextstepaction"]
73+
> [Try Azure Cosmos DB for free](../try-free.md)

articles/cosmos-db/mongodb/faq.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
### YamlMime:FAQ
2+
metadata:
3+
title: Frequently asked questions on Azure Cosmos DB for MongoDB
4+
description: Get answers to frequently asked questions about Azure Cosmos DB for MongoDB and the differences between the two offers.
5+
author: gahl-levy
6+
ms.author: gahllevy
7+
ms.service: cosmos-db
8+
ms.subservice: mongodb
9+
ms.topic: faq
10+
ms.date: 09/12/2023
11+
title: Frequently asked questions on Azure Cosmos DB for MongoDB
12+
summary: |
13+
[!INCLUDE[MongoDB](../includes/appliesto-mongodb.md)]
14+
15+
sections:
16+
- name: General FAQ
17+
questions:
18+
- question: |
19+
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

Comments
 (0)