Amazon DMS 的简要视图 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon DMS 的简要视图

要执行数据库迁移,Amazon DMS 将连接到源数据存储,读取源数据并设置数据格式以供目标数据存储使用。然后,它会将数据加载到目标数据存储中。此处理大部分在内存中进行,不过大型事务可能需要部分缓冲到磁盘。缓存事务和日志文件也会写入磁盘。

概括来说,使用 Amazon DMS 时您需要执行以下操作:

  • 创建复制服务器。

  • 创建源和目标终端节点,它们具有有关您的数据存储的连接信息。

  • 创建一个或多个迁移任务以在源和目标数据存储之间迁移数据。

任务可能包括三个主要阶段:

  • 完全加载现有数据

  • 应用缓存的更改

  • 持续复制

在完全加载迁移过程中,源中的现有数据将移动到目标数据库,Amazon DMS 会将源数据存储上的表中的数据加载到目标数据存储上的表。在完全加载进行期间,对所加载表进行的更改将缓存到复制服务器上;这些是缓存的更改。请务必注意,在启动给定表的完全加载后,Amazon DMS 才会捕获该表的更改。换句话说,对于每个单独的表,开始捕获更改的时间点是不同的。

给定表的完全加载完成时,Amazon DMS 立即开始应用该表的缓存更改。加载表并应用缓存的更改后,Amazon DMS开始收集更改作为持续复制阶段的事务。如果事务中的表尚未完全加载,则更改将本地存储在复制实例上。Amazon DMS 应用所有缓存更改之后,表处于事务一致的状态。此时,Amazon DMS 转向持续复制阶段,将更改作为事务进行应用。

持续复制阶段开始之后,积压的事务通常会导致源数据库与目标数据库之间的一些滞后。在处理完这些积压事务之后,迁移最终进入稳态。此时,您可以关闭应用程序,允许任何剩余的事务应用到目标,然后启动您的应用程序,现在指向目标数据库。

Amazon DMS 创建执行迁移所需的目标架构对象。不过,Amazon DMS 采用极简方法,仅创建有效迁移数据所需的那些对象。换而言之,Amazon DMS 创建表、主键和(在某些情况下)唯一索引,但它不会创建有效迁移源中的数据时不需要的任何其他对象。例如,它不会创建二级索引、非主键约束或数据默认值。

在大多数情况下,执行迁移时,您还要迁移大部分或所有源架构。如果您执行同构迁移 (在相同引擎类型的两个数据库之间),则您可以使用引擎的本机工具导出和导入架构本身而无需任何数据,以此来迁移架构。

如果执行异构迁移(在使用不同引擎类型的两个数据库之间),可以使用 Amazon Schema Conversion Tool (Amazon SCT) 生成一个完整的目标架构。如果使用该工具,则需要在迁移的“完全加载”和“缓存的更改应用”阶段禁用表之间的任何依赖项,例如,外键约束。如果出现性能问题,在迁移过程中删除或禁用辅助索引会有帮助。有关Amazon SCT,请参阅Amazon Schema Conversion Tool中的Amazon SCT文档中)。