想要详细了解 AWS DMS(数据迁移服务)的内部结构?



创建复制任务时,当源数据库发生任何更改时,该任务将复制到目标数据库中。

所以只是想更多地了解这项服务的内部工作原理?

我的理解 DMS 具有侦听器服务,用于在触发器/事件在源上触发时侦听触发器/事件,
  • 侦听器收集这些事件/触发器并在目标上同时触发这些事件/触发器,一种流概念已在持续复制中实现,并且在加载批处理时已实现。

您能否进一步澄清一下内部结构,或者请与我分享任何高级设计参考。

我需要对此进行更多澄清

本文档包含 DMS 工作原理的高级概述:

要执行数据库迁移,AWS DMS 将连接到源数据 存储、读取源数据并格式化数据以供使用 目标数据存储。然后,它将数据加载到目标数据中 商店。大部分处理发生在内存中,尽管很大 事务可能需要对磁盘进行一些缓冲。缓存事务 日志文件也会写入磁盘。 概括地说,使用 AWS DMS 时,您需要执行以下操作:

  • 创建复制服务器。

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

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

页面上有很多细节,但这个摘要在解释发生的事情方面是不错的。没有触发器,只需读取指定的数据,根据需要进行转换,然后写入目标。

DMS CDC 的工作方式取决于您的源数据库,并且通常需要在 DMS 任务中配置源数据库和控制参数。

此过程的工作原理是使用数据库引擎的本机 API 收集对数据库日志的更改。

每个源引擎都有向给定用户帐户公开此更改流的特定配置要求。大多数引擎需要一些额外的配置,以使捕获过程能够以有意义的方式使用变更数据,而不会丢失数据。例如,Oracle需要添加补充日志记录,MySQL需要行级二进制日志记录(bin logging(。

要从源数据库读取正在进行的更改,AWS DMS 使用特定于引擎的 API 操作从源引擎的事务日志中读取更改。以下是 AWS DMS 如何执行此操作的一些示例:

(继续阅读: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html(

要查找特定的源数据库,请从此处开始选择源,然后深入了解详细信息。

对于 MsSQL Server:

  • 使用 sql 复制服务
  • 使用捕获数据更改

当您激活这些服务之一时,将在 ldf 文件中创建更详细的记录。

有两种类型:

  1. 通过防止日志文件被截断,它会持续读取日志文件并将新操作传输到目标。
  2. 读取事务备份并将新记录传输到目标

检查一下:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html

最新更新