你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将数据从 MongoDB 迁移到 Azure DocumentDB 的选项有哪些?

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

可以通过两种方式完成迁移:

  • 脱机迁移:基于快照从源批量复制到目标。 在未将快照复制到目标的情况下,在源上添加/更新/删除数据。 所需的应用程序关闭时间取决于完成批量复制活动所需的时间。

  • 联机迁移:除了脱机迁移中完成的批量数据复制活动之外,更改流还会监视所有添加/更新/删除操作。 大容量数据复制完成后,更改流中的数据将复制到目标。 此过程可确保迁移过程中所做的所有更新也会传输到目标。 所需的应用程序关闭时间很短。

迁移前评估

使用 Azure DocumentDB 迁移扩展 执行兼容性评估。 此阶段的目的是发现当前 MongoDB 解决方案中存在的任何不兼容或警告。 在继续迁移过程之前,应解决评估结果中发现的问题。

小窍门

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

Migration

本文中讨论的工具有助于从以下源迁移 MongoDB 工作负载:

  • MongoDB 虚拟机
  • MongoDB Atlas
  • AWS DocumentDB

Azure DocumentDB 迁移扩展

使用 Azure DocumentDB 迁移扩展(公共预览版)Visual Studio Code 中创建和管理迁移作业,这是一种为简单安全性和零停机时间而设计的解决方案。

此工具提供了明确的分步指南,可帮助你迁移工作负载,而不会造成服务中断。 您可以:

  • 选择要迁移的特定数据库和集合
  • 熟悉的 VS Code 接口中执行所有步骤
  • 在整个过程中确保安全连接
  • 享受使用扩展的零成本

借助 Azure DocumentDB 迁移扩展,可以在保持控制和安全性的同时简化迁移过程,而无需额外的基础结构或复杂性。

Web 应用实用工具 (联机)

使用 MongoMigrationwebBasedUtility 简化到 Azure DocumentDB 的迁移,该工具旨在提高效率、可靠性和易用性。 存储库提供了有关迁移工作负荷的详细分步说明。 此工具为联机和脱机数据迁移提供无缝体验。 此过程是用户友好的,只需提供源和目标详细信息。 它使你能够毫不费力地迁移 MongoDB 集合,同时保持控制、安全性和可伸缩性,从而解锁 Azure DocumentDB 的全部潜力。

主要功能包括:

  • 支持虚拟网络中的专用部署以提高安全性
  • 出现连接断开或暂时性错误时的自动恢复功能
  • 用户友好界面
  • 访问 GitHub 上的 C# 源代码

该工具支持灵活的部署选项,无需依赖于其他 Azure 资源即可独立运行。 此外,它还通过可自定义的 Azure Web 应用定价计划提供可缩放的性能。

本机 MongoDB 工具(脱机)

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

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

注释

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