的高级视图 AWS DMS - AWS 数据库迁移服务

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

的高级视图 AWS DMS

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

简而言之,在使用 AWS DMS 时,请执行以下操作:

  • 发现您的网络环境中适合迁移的数据库。

  • 自动将源数据库架构和大部分数据库代码对象转换为与目标数据库兼容的格式。

  • 创建复制服务器。

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

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

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

  • 迁移现有数据(完全加载)

  • 应用缓存的更改

  • 持续复制(更改数据捕获)

在满负荷迁移期间,将源中的现有数据移动到目标,会将数据从源数据存储中的表 AWS DMS 加载到目标数据存储上的表。在完全加载进行期间,对所加载表进行的更改将缓存到复制服务器上;这些是缓存的更改。值得注意的是,在给定表的满负荷开始之前,它 AWS DMS 不会捕获该表的更改。换句话说,对于每个单独的表,开始捕获更改的时间点是不同的。

当给定表的满载完成后, AWS DMS 立即开始对该表应用缓存的更改。加载表并应用缓存的更改后,将 AWS DMS 开始收集更改作为正在进行的复制阶段的交易。如果事务中的表尚未完全加载,则更改将存储在复制实例的本地。 AWS DMS 将所有缓存的更改应用于所有表后,表在事务上保持一致。此时, AWS DMS 进入正在进行的复制阶段,将更改作为事务进行应用。

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

AWS DMS 创建执行数据迁移所需的目标架构对象。您可以使用 AWS DMS 采用极简主义的方法,仅创建高效迁移数据所需的对象。使用这种方法 AWS DMS 可以创建表、主键,在某些情况下还会创建唯一索引,但它不会创建任何其他不需要从源中高效迁移数据的对象。

或者,您可以使用 AWS DMS 其中的DMS架构转换将源数据库架构和大多数数据库代码对象自动转换为与目标数据库兼容的格式。此转换包括表、视图、存储过程、函数、数据类型、同义词等。任何DMS架构转换无法自动转换的对象都会被明确标记。要完成迁移,您可以手动转换这些对象。