11

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

所以只是想更多地了解这个服务在内部是如何工作的?

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

您能否详细说明一下内部结构,或者请与我分享任何高级设计参考。

我需要对此进行更多说明

4

3 回答 3

1

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 )

要查找您的特定源数据库,请从这里开始选择您的源,然后深入了解细节。

于 2018-09-27T05:47:37.070 回答
1

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

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

  • 创建复制服务器。

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

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

该页面上有更多详细信息,但此摘要可以很好地解释正在发生的事情。没有触发器,只是读取您指定的数据,根据需要进行转换,然后写入目标。

于 2018-06-10T19:48:07.320 回答
0

对于 MsSQL 服务器:

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

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

有两种工作方式:

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

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

于 2018-06-12T08:48:17.940 回答