将数据从 MongoDB 迁移到 Azure Cosmos DB for MongoDB vCore 有哪些选项?

本文档介绍用于将 MongoDB 工作负载直接迁移到 Azure Cosmos DB for MongoDB vCore 的产品/服务的各种选项。

Azure Data Studio(脱机)

适用于 Azure Data Studio 的 MongoDB 迁移扩展是将 MongoDB 工作负载迁移到用于 MongoDB vCore 的 API 的首选工具。

迁移过程分为两个阶段:

  • 预迁移评估 - 评估当前的 MongoDB 数据资产,以确定是否存在任何不兼容。
  • 迁移 - 使用 Azure 托管服务的迁移操作。

预迁移评估

评估涉及确定是否正在使用受支持的功能和语法。 此阶段的目的是发现当前 MongoDB 解决方案中存在的任何不兼容或警告。 在继续迁移过程之前,应解决评估结果中发现的问题。

提示

建议在实际迁移之前详细查看支持的功能和语法,并执行概念证明。

迁移

使用图形用户界面从头到尾管理整个迁移过程。 迁移在 Azure Data Studio 中启动,但在 Azure 托管资源的云中运行。

本机 MongoDB 工具(脱机)

可以使用本机 MongoDB 工具(如 mongodump/mongorestoremongoexport/mongoimport)将数据集脱机迁移(无需复制实时更改)到 Azure Cosmos DB for MongoDB vCore 的产品/服务。

方案 MongoDB 本机工具
移动数据库数据的子集(基于 JSON/CSV) mongoexport/mongoimport
移动整个数据库(基于 BSON) mongodump/mongorestore
  • mongoexport/mongoimport 是迁移 MongoDB 数据库子集的最佳迁移工具组合。
    • mongoexport 将现有的数据导出为可读的 JSON 或 CSV 文件。 mongoexport 通过一个参数来指定要导出的现有数据的子集。
    • mongoimport 会打开 JSON 或 CSV 文件,并将内容插入到目标数据库实例中 (在本例中为 Azure Cosmos DB for MongoDB vCore)。
    • JSON 和 CSV 不是压缩格式,mongoimport 将数据发送到 Azure Cosmos DB for MongoDB vCore 时,可能会产生额外的网络费用。
  • mongodump/mongorestore 是迁移整个 MongoDB 数据库的最佳迁移工具组合。 在 Azure Cosmos DB for MongoDB vCore 中插入数据时,压缩 BSON 格式将更有效地利用网络资源。
    • mongodump 会将现有数据导出为 BSON 文件。
    • mongorestore 会将 BSON 文件转储导入 Azure Cosmos DB for MongoDB vCore。

注意

MongoDB 本机工具只能以主机硬件允许的速度移动数据。

使用 Azure Databricks 进行数据迁移(脱机/联机)

后续步骤