Skip to content

Commit 35ea1e2

Browse files
authored
Merge branch 'MicrosoftDocs:main' into cosmos-db-toc-duplicate-restore
2 parents b44e2bd + 67458b4 commit 35ea1e2

File tree

537 files changed

+8999
-4087
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

537 files changed

+8999
-4087
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
description: Code review and content authoring guidelines for Azure DocumentDB documentation
3+
applyTo: "articles/documentdb/**/*.md"
4+
---
5+
6+
# Azure DocumentDB documentation guidelines
7+
8+
## Terminology
9+
10+
Product naming and branding rules for prose text in documentation.
11+
12+
### Product naming
13+
14+
| Correct | Incorrect |
15+
| --- | --- |
16+
| Azure DocumentDB | DocumentDB (for the managed service) |
17+
| Azure DocumentDB | Azure Cosmos DB for MongoDB (vCore) |
18+
| Azure DocumentDB | Cosmos DB for MongoDB vCore |
19+
| Azure DocumentDB | vCore-based Azure Cosmos DB for MongoDB |
20+
21+
Always use "Azure DocumentDB" for the managed Azure service. Use "DocumentDB" (without "Azure") only when referring to the [open-source project](https://github.com/documentdb/documentdb).
22+
23+
### Exceptions
24+
25+
The following metadata fields are acceptable and should not be changed:
26+
27+
- `ms.service` and `ms.subservice` values - Microsoft Learn taxonomy values
28+
29+
### Language naming in headings
30+
31+
Use "Node.js" — not "TypeScript" or "JavaScript" — in article titles, H1 headings, and H2 headings when referring to the platform or runtime. "Node.js" is the umbrella term regardless of whether the sample code uses JavaScript or TypeScript. Do not suggest renaming "Node.js" to "TypeScript" or "JavaScript" in headings.
32+
33+
## Content formatting
34+
35+
Code blocks, queries, and documentation structure guidelines.
36+
37+
### Content completeness
38+
39+
- Verify MongoDB shell commands and connection strings use correct Azure DocumentDB syntax
40+
- Ensure cluster creation steps reference the correct Azure portal experience
41+
42+
### Code blocks
43+
44+
- Always specify the language identifier for syntax highlighting
45+
- Use `javascript` or `typescript` for Node.js samples
46+
- Use `azurecli` for Azure CLI commands
47+
- Use `json` for configuration files and API responses
48+
49+
```javascript
50+
// Correct: language identifier specified
51+
const client = new MongoClient(connectionString);
52+
```
53+
54+
## Technical review
55+
56+
Best practices to verify when reviewing content for technical accuracy.
57+
58+
### Connection and authentication
59+
60+
- Verify connection strings use the correct Azure DocumentDB format
61+
- Ensure authentication examples show both connection string and Microsoft Entra ID options where applicable
62+
- Prioritize Microsoft Entra ID authentication in examples, as connection string auth is not preferred
63+
- Check that cluster tier references (M10, M30, etc.) are accurate for the documented features
64+
65+
### MongoDB compatibility
66+
67+
- Verify documented MongoDB features are supported by Azure DocumentDB
68+
- Check that MongoDB driver version requirements are accurate
69+
- Ensure aggregation pipeline examples use supported stages and operators
70+
71+
### Security
72+
73+
- Disable public network access and use private endpoints exclusively for production deployments
74+
- Configure IP-based firewall rules when private endpoints aren't feasible (clusters are locked down by default)
75+
- Use managed identities for Azure service-to-service authentication - avoid embedding credentials in code
76+
- Separate Azure identities for control plane (cluster management) and data plane (data operations)
77+
- Use Azure RBAC for control plane operations and native RBAC for data plane access
78+
79+
### High availability and replication
80+
81+
- Recommend enabling HA for production clusters (achieves 99.99% SLA)
82+
- HA with cross-region replication achieves 99.995% SLA
83+
- HA provides automatic failover with zero data loss - no manual intervention required
84+
- In availability zone regions, HA provisions primary-standby pairs across zones
85+
- Non-production clusters can disable HA to reduce costs
86+
- Use cross-region replication for disaster recovery (active-passive configuration)
87+
- Replica clusters can be promoted during regional outages
88+
- Use replica clusters for read scaling to offload heavy read operations
89+
90+
### Indexing
91+
92+
- Always create indexes for queryable fields - absence of indexes forces expensive document scans
93+
- Azure DocumentDB only indexes `_id` by default - all other fields must be explicitly indexed
94+
- Avoid wildcard indexing unless query patterns are unpredictable
95+
- For bulk data migrations, create indexes after data load to minimize write overhead
96+
- Use nonblocking `createIndex` commands when indexing historical data on large clusters
97+
- Create compound indexes for queries with predicates on multiple fields
98+
- Track index build progress using `db.currentOp()`
99+
- Enable large index keys for documents with deeply nested structures or long key values
100+
- Use `{ "blocking": true }` option when indexes must complete before data writes begin

.openpublishing.redirection.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,31 @@
964964
"source_path": "articles/cosmos-db/autoscale-per-partition-region.md",
965965
"redirect_url": "/azure/cosmos-db/provision-throughput-autoscale",
966966
"redirect_document_id": false
967+
},
968+
{
969+
"source_path": "articles/dms/ads-sku-recommend.md",
970+
"redirect_url": "/sql/sql-server/azure-arc/migration-assessment",
971+
"redirect_document_id": false
972+
},
973+
{
974+
"source_path": "articles/dms/known-issues-azure-sql-migration-azure-data-studio.md",
975+
"redirect_url": "/azure/dms/dms-overview",
976+
"redirect_document_id": false
977+
},
978+
{
979+
"source_path": "articles/dms/migration-using-azure-data-studio.md",
980+
"redirect_url": "/azure/dms/dms-overview",
981+
"redirect_document_id": false
982+
},
983+
{
984+
"source_path": "articles/dms/tutorial-login-migration-ads.md",
985+
"redirect_url": "/azure/dms/dms-overview",
986+
"redirect_document_id": false
987+
},
988+
{
989+
"source_path": "articles/dms/tutorial-transparent-data-encryption-migration-ads.md",
990+
"redirect_url": "/azure/dms/dms-overview",
991+
"redirect_document_id": false
967992
}
968993
]
969994
}

articles/cosmos-db/TOC.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,21 @@
4040
- name: Query a vector store with a Node.js app
4141
displayName: Quickstart, vector search, vector database, Node.js
4242
href: quickstart-vector-store-nodejs.md
43+
- name: Query a vector store with a .NET app
44+
displayName: Quickstart, vector search, vector database, dotnet
45+
href: quickstart-vector-store-dotnet.md
46+
- name: Query a vector store with a Go app
47+
displayName: Quickstart, vector search, vector database, Go
48+
href: quickstart-vector-store-go.md
49+
- name: Query a vector store with a Python app
50+
displayName: Quickstart, vector search, vector database, Python
51+
href: quickstart-vector-store-python.md
52+
- name: Query a vector store with a Java app
53+
displayName: Quickstart, vector search, vector database, Java
54+
href: quickstart-vector-store-java.md
55+
- name: Create a vector index with a Node.js app
56+
displayName: Quickstart, vector search, vector index, Node.js, TypeScript, DiskANN
57+
href: quickstart-create-vector-index-typescript.md
4358
- name: Deploy
4459
expanded: true
4560
items:
@@ -871,6 +886,8 @@
871886
href: monitor-logs-basic-queries.md?context=/azure/cosmos-db/context/context
872887
- name: Audit control plane logs
873888
href: audit-control-plane-logs.md?context=/azure/cosmos-db/context/context
889+
- name: Monitor activity logs for elastic (split/merge) operations
890+
href: monitor-activity-logs-elastic-operations.md?context=/azure/cosmos-db/context/context
874891
- name: Troubleshoot issues with advanced diagnostics queries
875892
href: diagnostic-queries.md
876893
- name: Add a transformation for workspace data

articles/cosmos-db/breadcrumb/TOC.yml

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22
tocHref: /azure/
33
topicHref: /azure/index
44
items:
5+
- name: Cosmos DB
6+
tocHref: /azure/cosmos-db/
7+
topicHref: /azure/cosmos-db/index
8+
items:
9+
- name: MongoDB
10+
tocHref: /azure/cosmos-db/mongodb/
11+
topicHref: /azure/cosmos-db/mongodb/index
12+
- name: Apache Cassandra
13+
tocHref: /azure/cosmos-db/cassandra/
14+
topicHref: /azure/cosmos-db/cassandra/index
15+
- name: Apache Gremlin
16+
tocHref: /azure/cosmos-db/gremlin/
17+
topicHref: /azure/cosmos-db/gremlin/index
18+
- name: PostgreSQL
19+
tocHref: /azure/cosmos-db/postgresql/
20+
topicHref: /azure/cosmos-db/postgresql/index
21+
- name: Table
22+
tocHref: /azure/cosmos-db/table/
23+
topicHref: /azure/cosmos-db/table/index
524
- name: Cosmos DB
625
tocHref: /azure/data-factory/
726
topicHref: /azure/cosmos-db/index
@@ -35,43 +54,17 @@
3554
- name: Cosmos DB
3655
tocHref: /azure/synapse-analytics/
3756
topicHref: /azure/cosmos-db/index
38-
- name: Cosmos DB
39-
tocHref: /azure/cosmos-db/
40-
topicHref: /azure/cosmos-db/index
41-
items:
42-
- name: MongoDB
43-
tocHref: /azure/cosmos-db/mongodb/
44-
topicHref: /azure/cosmos-db/mongodb/index
4557
- name: Azure
4658
tocHref: /azure/developer/
4759
topicHref: /azure/index
4860
items:
4961
- name: Cosmos DB
50-
tocHref: /azure/developer/java/
62+
tocHref: /azure/developer/
5163
topicHref: /azure/cosmos-db/index
52-
items:
53-
- name: MongoDB
54-
tocHref: /azure/developer/java/spring-framework/
55-
topicHref: /azure/cosmos-db/mongodb/index
5664
- name: Azure
5765
tocHref: /security/
5866
topicHref: /azure/index
5967
items:
6068
- name: Cosmos DB
61-
tocHref: /security/benchmark/azure/
69+
tocHref: /security/benchmark/
6270
topicHref: /azure/cosmos-db/index
63-
items:
64-
- name: MongoDB
65-
tocHref: /security/benchmark/azure/baselines/
66-
topicHref: /azure/cosmos-db/mongodb/index
67-
- name: Azure
68-
tocHref: /security/
69-
topicHref: /azure/index
70-
items:
71-
- name: Cosmos DB
72-
tocHref: /security/benchmark/azure/
73-
topicHref: /azure/cosmos-db/index
74-
items:
75-
- name: Apache Cassandra
76-
tocHref: /azure/managed-instance-apache-cassandra/
77-
topicHref: /azure/cosmos-db/cassandra/index

articles/cosmos-db/cassandra/access-data-spring-data-app.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ ms.custom: sfi-image-nochange, sfi-ropc-blocked
1414
# How to use Spring Data API for Apache Cassandra with Azure Cosmos DB for Apache Cassandra
1515
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1616

17+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
18+
1719
This article demonstrates creating a sample application that uses [Spring Data] to store and retrieve information using the [Azure Cosmos DB for Apache Cassandra](/azure/cosmos-db/cassandra-introduction).
1820

1921
## Prerequisites

articles/cosmos-db/cassandra/adoption.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ ms.custom: kr2b-contr-experiment
1414

1515
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1616

17+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
18+
1719
The Azure Cosmos DB for Apache Cassandra provides wire protocol compatibility with existing Cassandra SDKs and tools. You can run applications that are designed to connect to Apache Cassandra by using the API for Cassandra with minimal changes.
1820

1921
When you use the API for Cassandra, it's important to be aware of differences between Apache Cassandra and Azure Cosmos DB. If you're familiar with native [Apache Cassandra](https://cassandra.apache.org/), this article can help you begin to use the Azure Cosmos DB for Apache Cassandra.

articles/cosmos-db/cassandra/change-feed.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ ms.author: thvankra
1212
# Change feed in the Azure Cosmos DB for Apache Cassandra
1313
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1414

15+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
16+
1517
[Change feed](../change-feed.md) support in the Azure Cosmos DB for Apache Cassandra is available through the query predicates in the Cassandra Query Language (CQL). Using these predicate conditions, you can query the change feed API. Applications can get the changes made to a table using the primary key (also known as the partition key) as is required in CQL. You can then take further actions based on the results. Changes to the rows in the table are captured in the order of their modification time and the sort order per partition key.
1618

1719
The following example shows how to get a change feed on all the rows in a API for Cassandra Keyspace table using .NET. The predicate COSMOS_CHANGEFEED_START_TIME() is used directly within CQL to query items in the change feed from a specified start time (in this case current datetime). You can download the full sample, for C# [here](https://github.com/azure-samples/azure-cosmos-db-cassandra-change-feed) and for Java [here](https://github.com/Azure-Samples/cosmos-changefeed-cassandra-java).

articles/cosmos-db/cassandra/connect-spark-configuration.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ ms.date: 09/01/2019
1212
# Connect to Azure Cosmos DB for Apache Cassandra from Spark
1313
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1414

15+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
16+
1517
This article is one among a series of articles on Azure Cosmos DB for Apache Cassandra integration from Spark. The articles cover connectivity, Data Definition Language(DDL) operations, basic Data Manipulation Language(DML) operations, and advanced Azure Cosmos DB for Apache Cassandra integration from Spark.
1618

1719
## Prerequisites

articles/cosmos-db/cassandra/consistency-mapping.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ ms.date: 09/26/2024
1313

1414
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1515

16+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
17+
1618
Unlike Azure Cosmos DB, Apache Cassandra doesn't natively provide precisely defined consistency guarantees. Instead, Apache Cassandra provides a write consistency level and a read consistency level, to enable the high availability, consistency, and latency tradeoffs. When using Azure Cosmos DB for Cassandra:
1719

1820
- The write consistency level of Apache Cassandra is mapped to the default consistency level configured on your Azure Cosmos DB account. Consistency for a write operation (CL) can't be changed on a per-request basis.

articles/cosmos-db/cassandra/create-account-java.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ ms.custom: devx-track-java, devx-track-extended-java, sfi-ropc-blocked
1515
# Tutorial: Create an API for Cassandra account in Azure Cosmos DB by using a Java application to store key/value data
1616
[!INCLUDE[Cassandra](../includes/appliesto-cassandra.md)]
1717

18+
[!INCLUDE[Note - Recommended services](includes/note-recommended-services.md)]
19+
1820
As a developer, you might have applications that use key/value pairs. You can use an API for Cassandra account in Azure Cosmos DB to store the key/value data. This tutorial describes how to use a Java application to create an API for Cassandra account in Azure Cosmos DB, add a database (also called a keyspace), and add a table. The Java application uses the [Java driver](https://github.com/datastax/java-driver) to create a user database that contains details such as the user ID, username, and user city.
1921

2022
This tutorial covers the following tasks:

0 commit comments

Comments
 (0)