选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用与 MongoDB 兼容的数据库作为同构数据迁移的来源 AWS DMS

聚焦模式
使用与 MongoDB 兼容的数据库作为同构数据迁移的来源 AWS DMS - AWS 数据库迁移服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

您可以使用与 MongoDB 兼容的数据库作为 AWS DMS中同构数据迁移的源。在这种情况下,您的源数据提供者可以是本地、Amazon for MongoDB 数据库或亚马逊 EC2 DocumentDB(兼容 MongoDB)数据库。

有关支持的数据库版本,请参阅DMS 同构数据迁移的源数据提供程序

以下各节描述了自行管理 MongoDB 数据库和托管的 Amazon DocumentDB 数据库的特定配置先决条件。 AWS

使用自我管理的 MongoDB 数据库作为同构数据迁移的来源 AWS DMS

本节介绍如何配置托管在本地或 Amazon 实例上的 MongoDB 数据库。 EC2

检查源 MongoDB 数据库的版本。请确保它 AWS DMS 支持您的源 MongoDB 数据库版本,如中所述。DMS 同构数据迁移的源数据提供程序

要使用 MongoDB 源运行同构数据迁移,您可以创建具有根权限的用户账户,也可以仅在要迁移的数据库上创建具有权限的用户。有关创建用户的更多信息,请参阅使用 MongoDB 作为源时所需的权限 AWS DMS

要将持续复制或 CDC 与 MongoDB 配合使用 AWS DMS ,需要访问 MongoDB 操作日志 (oplog)。有关更多信息,请参阅 为 CDC 配置 MongoDB 副本集

有关 MongoDB 身份验证方法的信息,请参阅使用 MongoDB 作为源时的安全要求 AWS DMS

将 MongoDB 作为源时,同构数据迁移支持 Amazon DocumentDB 支持的所有数据类型。

将 MongoDB 作为源时,要将用户凭证存储在 Secrets Manager 中,您需要使用其他类型的密钥类型以纯文本形式提供这些凭证。有关更多信息,请参阅 使用密钥访问 AWS Database Migration Service 端点

以下代码示例演示了如何以纯文本形式存储数据库密钥。

{ "username": "dbuser", "password": "dbpassword" }

使用 Amazon DocumentDB 数据库作为同构数据迁移的来源 AWS DMS

本节介绍如何配置 Amazon DocumentDB 数据库实例,以作为同构数据迁移的源。

使用 Amazon DocumentDB 实例的主用户名作为与 MongoDB 兼容的源数据提供程序的用户账户,以在 AWS DMS中进行同构数据迁移。主用户账户具有允许它设置 CDC 所需的角色。如果使用主用户账户之外的账户,该账户必须具有根角色。有关创建用户作为根账户的更多信息,请参阅设置权限以使用 Amazon DocumentDB 作为源

要开启逻辑复制,请将数据库参数组中的 change_stream_log_retention_duration 参数设置为适合事务工作负载的设置。更改此静态参数需要重启数据库实例才能生效。开始对所有任务类型(包括仅完全加载)进行数据迁移之前,请先为给定数据库中的所有集合(或只为选定的集合)启用 Amazon DocumentDB 更改流。有关启用 Amazon DocumentDB 更改流的更多信息,请参阅《Amazon DocumentDB 开发人员指南》中的启用更改流

注意

AWS DMS 使用 Amazon DocumentDB 变更流捕获正在进行的复制期间的更改。如果 Amazon DocumentDB 在 DMS 读取记录之前将记录从更改流中清除,则您的任务将失败。建议设置 change_stream_log_retention_duration 参数,将更改至少保留 24 小时。

要使用 Amazon DocumentDB 进行同构数据迁移,请将用户凭证存储在 Secrets Manager 中的 Amazon DocumentDB 数据库的凭证下。

使用与 MongoDB 兼容的数据库作为同构数据迁移的源的特征

  • 在完全加载阶段,您可以迁移 Amazon DocumentDB 支持的所有二级索引。

  • AWS DMS 并行迁移集合。同构数据迁移根据集合中每个文档的平均大小在运行时计算数据段,以实现最佳性能。

  • DMS 可以复制您在 CDC 阶段创建的二级索引。DMS 在 MongoDB 版本 6.0 中支持此特征。

  • DMS 支持嵌套级别大于 97 的文档。

使用与 MongoDB 兼容的数据库作为同构数据迁移的源的限制

  • 文档不能有带 $ 前缀的字段名称。

  • AWS DMS 不支持时间序列集合迁移。

  • AWS DMS 在 CDC 阶段不支持createdrop、或 rename collection DDL 事件。

  • AWS DMS 不支持字段集合中不一致的数据类型。_id例如,对于 _id 字段,以下不支持的集合具有多种数据类型。

    rs0 [direct: primary] test> db.collection1.aggregate([ ... { ... $group: { ... _id: { $type: "$_id" }, ... count: { $sum: 1 } ... } ... } ... ]) [ { _id: 'string', count: 6136 }, { _id: 'objectId', count: 848033 } ]
  • 对于仅限 CDC 的任务, AWS DMS 仅支持immediate启动模式。

  • AWS DMS 不支持包含无效 UTF8 字符的文档。

  • AWS DMS 不支持分片集合。

使用与 MongoDB 兼容的数据库作为同构数据迁移的源的最佳实践

  • 对于托管在同一 MongoDB 实例上的多个大型数据库和集合,建议您对每个数据库和集合使用选择规则,以将任务拆分为多个数据迁移任务和项目。您可以调整数据库和集合分区以获得出色性能。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。