Skip to content

Commit 3ff1946

Browse files
authored
Merge pull request #234802 from sandeepsnairms/DMA-ADS
ADS- DMA
2 parents 58edbd1 + fb11c0e commit 3ff1946

File tree

3 files changed

+84
-52
lines changed

3 files changed

+84
-52
lines changed

articles/cosmos-db/mongodb/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,8 @@
415415
href: ../free-tier.md
416416
- name: Premigration guide
417417
href: pre-migration-steps.md
418+
- name: Programmatic Database Migration Assistant (legacy)
419+
href: programmatic-database-migration-assistant-legacy.md
418420
- name: MongoDB native tools (offline)
419421
href: tutorial-mongotools-cosmos-db.md
420422
- name: Database Migration Service (online)

articles/cosmos-db/mongodb/pre-migration-steps.md

Lines changed: 22 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ ms.service: cosmos-db
88
ms.subservice: mongodb
99
ms.custom: ignite-2022
1010
ms.topic: conceptual
11-
ms.date: 02/27/2023
11+
ms.date: 04/20/2023
1212
---
1313

14-
# Pre-migration steps for data migrations from MongoDB to Azure Cosmos DB for MongoDB
14+
# Premigration steps for data migrations from MongoDB to Azure Cosmos DB for MongoDB
1515

1616
[!INCLUDE[MongoDB](../includes/appliesto-mongodb.md)]
1717

@@ -34,10 +34,9 @@ Your goal in pre-migration is to:
3434

3535
Follow these steps to perform a thorough pre-migration
3636

37-
1. [Discover your existing MongoDB resources and create a data estate spreadsheet to track them](#pre-migration-discovery)
38-
2. [Assess the readiness of your existing MongoDB resources for data migration](#pre-migration-assessment)
39-
3. [Map your existing MongoDB resources to new Azure Cosmos DB resources](#pre-migration-mapping)
40-
4. [Plan the logistics of migration process end-to-end, before you kick off the full-scale data migration](#execution-logistics)
37+
1. [Discover your existing MongoDB resources and Assess the readiness of your existing MongoDB resources for data migration](#pre-migration-assessment)
38+
2. [Map your existing MongoDB resources to new Azure Cosmos DB resources](#pre-migration-mapping)
39+
3. [Plan the logistics of migration process end-to-end, before you kick off the full-scale data migration](#execution-logistics)
4140

4241
Then, execute your migration in accordance with your pre-migration plan.
4342

@@ -47,47 +46,29 @@ All of the above steps are critical for ensuring a successful migration.
4746

4847
When you plan a migration, we recommend that whenever possible you plan at the per-resource level.
4948

50-
The [Database Migration Assistant](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB)(DMA) assists you with the [Discovery](#programmatic-discovery-using-the-database-migration-assistant) and [Assessment](#programmatic-assessment-using-the-database-migration-assistant) stages of the planning.
51-
52-
## Pre-migration discovery
53-
54-
The first pre-migration step is resource discovery. In this step, you need to create a **data estate migration spreadsheet**.
49+
## Pre-migration assessment
5550

56-
* This sheet contains a comprehensive list of the existing resources (databases or collections) in your MongoDB data estate.
57-
* The purpose of this spreadsheet is to enhance your productivity and help you to plan migration from end-to-end.
58-
* You're recommended to extend this document and use it as a tracking document throughout the migration process.
51+
The first pre-migration step is to discover your existing MongoDB resources and assess the readiness of your resources for migration.
5952

60-
### Programmatic discovery using the Database Migration Assistant
53+
Discovery involves creating a comprehensive list of the existing resources (databases or collections) in your MongoDB data estate.
6154

62-
You may use the [Database Migration Assistant](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB) (DMA) to assist you with the discovery stage and create the data estate migration sheet programmatically.
55+
Assessment involves finding out whether you're using the [features and syntax that are supported](./feature-support-42.md). It also includes making sure you're adhering to the [limits and quotas](../concepts-limits.md#per-account-limits). The aim of this stage is to create a list of incompatibilities and warnings, if any. After you have the assessment results, you can try to address the findings during rest of the migration planning.
6356

64-
It's easy to [setup and run DMA](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB#how-to-run-the-dma) through an Azure Data Studio client. It can be run from any machine connected to your source MongoDB environment.
57+
There are 3 ways to complete the pre-migration assessment, we recommend you to use the [Azure Cosmos DB Migration for MongoDB extension](#azure-cosmos-db-migration-for-mongodb-extension).
6558

66-
You can use either one of the following DMA output files as the data estate migration spreadsheet:
59+
### Azure Cosmos DB Migration for MongoDB extension
6760

68-
* `workload_database_details.csv` - Gives a database-level view of the source workload. Columns in file are: Database Name, Collection count, Document Count, Average Document Size, Data Size, Index Count and Index Size.
69-
* `workload_collection_details.csv` - Gives a collection-level view of the source workload. Columns in file are: Database Name, Collection Name, Doc Count, Average Document Size, Data size, Index Count, Index Size and Index definitions.
61+
The [Azure Cosmos DB Migration for MongoDB extension](/sql/azure-data-studio/extensions/database-migration-for-mongo-extension) in Azure Data Studio helps you assess a MongoDB workload for migrating to Azure Cosmos DB for MongoDB. You can use this extension to run an end-to-end assessment on your workload and find out the actions that you may need to take to seamlessly migrate your workloads on Azure Cosmos DB. During the assessment of a MongoDB endpoint, the extension reports all the discovered resources.
7062

71-
Here's a sample database-level migration spreadsheet created by DMA:
7263

73-
| DB Name | Collection Count | Doc Count | Avg Doc Size | Data Size | Index Count | Index Size |
74-
| --- | --- | --- | --- | --- | --- | --- |
75-
| `bookstoretest` | 2 | 192200 | 4144 | 796572532 | 7 | 260636672 |
76-
| `cosmosbookstore` | 1 | 96604 | 4145 | 400497620 | 1 | 1814528 |
77-
| `geo` | 2 | 25554 | 252 | 6446542 | 2 | 266240 |
78-
| `kagglemeta` | 2 | 87934912 | 190 | 16725184704 | 2 | 891363328 |
79-
| `pe_orig` | 2 | 57703820 | 668 | 38561434711 | 2 | 861605888 |
80-
| `portugeseelection` | 2 | 30230038 | 687 | 20782985862 | 1 | 450932736 |
81-
| `sample_mflix` | 5 | 75583 | 691 | 52300763 | 5 | 798720 |
82-
| `test` | 1 | 22 | 545 | 12003 | 0 | 0 |
83-
| `testcol` | 26 | 46 | 88 | 4082 | 32 | 589824 |
84-
| `testhav` | 3 | 2 | 528 | 1057 | 3 | 36864 |
85-
| **TOTAL:** | **46** | **176258781** | | **72.01 GB** | | **2.3 GB** |
64+
> [!NOTE]
65+
> Azure Cosmos DB Migration for MongoDB extension does not perform an end-to-end assessment. We recommend you to go through [the supported features and syntax](./feature-support-42.md), [Azure Cosmos DB limits and quotas](../concepts-limits.md#per-account-limits) in detail, as well as perform a proof-of-concept prior to the actual migration.
8666
87-
### Manual discovery
67+
### Manual discovery (legacy)
8868

89-
Alternately, you may refer to the sample spreadsheet in this guide and create a similar document yourself.
69+
Alternatively, you could create a **data estate migration spreadsheet**. The purpose of this spreadsheet is to enhance your productivity and help you to plan migration from end-to-end and use it as a tracking document throughout the migration process.
9070

71+
* This sheet contains a comprehensive list of the existing resources (databases or collections) in your MongoDB data estate.
9172
* The spreadsheet should be structured as a record of your data estate resources, in list form.
9273
* Each row corresponds to a resource (database or collection).
9374
* Each column corresponds to a property of the resource; start with at least *name* and *data size (GB)* as columns.
@@ -98,25 +79,14 @@ Here are some tools you can use for discovering resources:
9879
* [MongoDB Shell](https://www.mongodb.com/try/download/shell)
9980
* [MongoDB Compass](https://www.mongodb.com/try/download/compass)
10081

101-
## Pre-migration assessment
102-
103-
Second, as a prelude to planning your migration, assess the readiness of resources in your data estate for migration.
104-
105-
Assessment involves finding out whether you're using the [features and syntax that are supported](./feature-support-42.md). It also includes making sure you're adhering to the [limits and quotas](../concepts-limits.md#per-account-limits). The aim of this stage is to create a list of incompatibilities and warnings, if any. After you have the assessment results, you can try to address the findings during rest of the migration planning.
106-
107-
### Programmatic assessment using the Database Migration Assistant
82+
Go through the spreadsheet and verify each collection against the [supported features and syntax](./feature-support-42.md), and [Azure Cosmos DB limits and quotas](../concepts-limits.md#per-account-limits) in detail.
10883

109-
[Database Migration Assistant](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB) (DMA) also assists you with the assessment stage of pre-migration planning.
110-
111-
Refer to the section [Programmatic discovery using the Database Migration Assistant](#programmatic-discovery-using-the-database-migration-assistant) to know how to setup and run DMA.
112-
113-
The DMA notebook runs a few assessment rules against the resource list it gathers from source MongoDB. The assessment result lists the required and recommended changes needed to proceed with the migration.
114-
115-
The results are printed as an output in the DMA notebook and saved to a CSV file - `assessment_result.csv`.
84+
### Database Migration Assistant utility (legacy)
11685

11786
> [!NOTE]
118-
> Database Migration Assistant is a preliminary utility meant to assist you with the pre-migration steps. It does not perform an end-to-end assessment.
119-
> In addition to running the DMA, we also recommend you to go through [the supported features and syntax](./feature-support-42.md), [Azure Cosmos DB limits and quotas](../concepts-limits.md#per-account-limits) in detail, as well as perform a proof-of-concept prior to the actual migration.
87+
> Database Migration Assistant is a legacy utility meant to assist you with the pre-migration steps. We recommend you to use the [Azure Cosmos DB Migration for MongoDB extension](#azure-cosmos-db-migration-for-mongodb-extension) for all pre-migration steps.
88+
89+
You may use the [Database Migration Assistant](programmatic-database-migration-assistant-legacy.md) (DMA) utility to assist you with pre-migration steps.
12090

12191
## Pre-migration mapping
12292

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Database Migration Assistant utility
3+
titleSuffix: Azure Cosmos DB for MongoDB
4+
description: This doc provides an overview of the Database Migration Assistant legacy utility.
5+
author: sandeep-nair
6+
ms.author: sandnair
7+
ms.service: cosmos-db
8+
ms.subservice: mongodb
9+
ms.custom:
10+
ms.topic: conceptual
11+
ms.date: 04/20/2023
12+
---
13+
14+
# Database Migration Assistant utility (legacy)
15+
16+
[!INCLUDE[MongoDB](../includes/appliesto-mongodb.md)]
17+
18+
> [!IMPORTANT]
19+
> Database Migration Assistant is a preliminary legacy utility meant to assist you with the pre-migration steps. Microsoft recommends you to use the [Azure Cosmos DB Migration for MongoDB extension](/sql/azure-data-studio/extensions/database-migration-for-mongo-extension) for all pre-migration steps.
20+
21+
### Programmatic discovery using the Database Migration Assistant
22+
23+
You may use the [Database Migration Assistant](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB) (DMA) to assist you with the discovery stage and create the data estate migration sheet programmatically.
24+
25+
It's easy to [setup and run DMA](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB#how-to-run-the-dma) through an Azure Data Studio client. It can be run from any machine connected to your source MongoDB environment.
26+
27+
You can use either one of the following DMA output files as the data estate migration spreadsheet:
28+
29+
* `workload_database_details.csv` - Gives a database-level view of the source workload. Columns in file are: Database Name, Collection count, Document Count, Average Document Size, Data Size, Index Count and Index Size.
30+
* `workload_collection_details.csv` - Gives a collection-level view of the source workload. Columns in file are: Database Name, Collection Name, Doc Count, Average Document Size, Data size, Index Count, Index Size and Index definitions.
31+
32+
Here's a sample database-level migration spreadsheet created by DMA:
33+
34+
| DB Name | Collection Count | Doc Count | Avg Doc Size | Data Size | Index Count | Index Size |
35+
| --- | --- | --- | --- | --- | --- | --- |
36+
| `bookstoretest` | 2 | 192200 | 4144 | 796572532 | 7 | 260636672 |
37+
| `cosmosbookstore` | 1 | 96604 | 4145 | 400497620 | 1 | 1814528 |
38+
| `geo` | 2 | 25554 | 252 | 6446542 | 2 | 266240 |
39+
| `kagglemeta` | 2 | 87934912 | 190 | 16725184704 | 2 | 891363328 |
40+
| `pe_orig` | 2 | 57703820 | 668 | 38561434711 | 2 | 861605888 |
41+
| `portugeseelection` | 2 | 30230038 | 687 | 20782985862 | 1 | 450932736 |
42+
| `sample_mflix` | 5 | 75583 | 691 | 52300763 | 5 | 798720 |
43+
| `test` | 1 | 22 | 545 | 12003 | 0 | 0 |
44+
| `testcol` | 26 | 46 | 88 | 4082 | 32 | 589824 |
45+
| `testhav` | 3 | 2 | 528 | 1057 | 3 | 36864 |
46+
| **TOTAL:** | **46** | **176258781** | | **72.01 GB** | | **2.3 GB** |
47+
48+
### Programmatic assessment using the Database Migration Assistant
49+
50+
[Database Migration Assistant](https://github.com/AzureCosmosDB/Cosmos-DB-Migration-Assistant-for-API-for-MongoDB) (DMA) also assists you with the assessment stage of pre-migration planning.
51+
52+
Refer to the section [Programmatic discovery using the Database Migration Assistant](#programmatic-discovery-using-the-database-migration-assistant) to know how to setup and run DMA.
53+
54+
The DMA notebook runs a few assessment rules against the resource list it gathers from source MongoDB. The assessment result lists the required and recommended changes needed to proceed with the migration.
55+
56+
The results are printed as an output in the DMA notebook and saved to a CSV file - `assessment_result.csv`.
57+
58+
> [!NOTE]
59+
> Database Migration Assistant does not perform an end-to-end assessment. It is a preliminary utility meant to assist you with the pre-migration steps.
60+

0 commit comments

Comments
 (0)