更改处理优化设置 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

更改处理优化设置

以下设置确定 Amazon DMS 如何在更改数据捕获 (CDC) 期间处理对目标表的更改。这些设置中的多个设置取决于目标元数据参数 BatchApplyEnabled 的值。有关 BatchApplyEnabled 参数的更多信息,请参阅目标元数据任务设置。有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例

更改处理优化设置包括:

以下设置仅在目标元数据参数 BatchApplyEnabled 设置为 true 时应用。

  • BatchApplyPreserveTransaction – 如果设置为 true,则保留事务完整性,并确保批处理包含源中的事务的所有更改。默认值为 true。该设置仅适用于 Oracle 目标终端节点。

    如果设置为 false,则会临时丢失事务完整性以提高性能。不能保证将源中事务的所有更改都应用于单个批处理中的目标。

    默认情况下,Amazon DMS 在事务模式下处理更改,这可保护事务完整性。如果您可以承受事务完整性的临时失效,可以改为使用批量优化应用 选项。该选项有效分组事务并批量应用,以实现提高效率的目的。使用批量优化的应用选项几乎总是违反引用完整性约束。因此,我们建议您在迁移过程中关闭这些限制,然后在割接过程中再次将其打开。

  • BatchApplyTimeoutMin – 设置 Amazon DMS 在每次应用批量更改之间等待的时间(以秒为单位)。默认值是 1。

  • BatchApplyTimeoutMax – 设置 Amazon DMS 在超时前每次应用批量更改之间等待的最长时间(以秒为单位)。默认值为 30。

  • BatchApplyMemoryLimit – 设置在批量优化应用模式中用于预处理的最大内存量 (MB)。默认值是 500。

  • BatchSplitSize – 设置在单个批次中应用的最大更改数。默认值 0 意味着未应用任何限制。

以下设置仅在目标元数据参数 BatchApplyEnabled 设置为 false 时应用。

  • MinTransactionSize – 设置要包含在每个事务中的更改的最小数目。默认值是 1000。

  • CommitTimeout – 设置 Amazon DMS 在声明超时前批量收集事务的最长时间(以秒为单位)。默认值是 1。

对于双向复制,以下设置仅在目标元数据参数 BatchApplyEnabled 设置为 false 时应用。

  • LoopbackPreventionSettings – 这些设置为双向复制中涉及的任何一对任务中每个正在进行的复制任务提供环回防护。环回防护 可防止在双向复制的两个方向上应用完全相同的更改,这可能会损坏数据。有关双向复制的更多信息,请参阅执行双向复制

Amazon DMS 尝试将事务数据保留在内存中,直到将事务完全提交给源和/或目标。但是,超过所分配内存的事务或未在指定时限内提交的事务将写入到磁盘。

以下设置适用于更改处理优化,无论更改处理模式如何。

  • MemoryLimitTotal – 设置所有事务在写入磁盘前可占用的内存的最大内存(以 MB 为单位)。默认值是 1024。

  • MemoryKeepTime – 设置每个事务在写入磁盘之前可在内存中保留的最长时间(以秒为单位)。从 Amazon DMS 开始捕获事务之时起计算持续时间。默认值是 60。

  • StatementCacheSize – 设置在向目标应用更改时要存储在服务器上以便稍后执行的预编译语句的最大数目。默认值是 50。最大值为 200。

以下示例演示了处理更改处理调优的任务设置是如何显示在任务设置 JSON 文件中的:

"ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }

要控制在执行数据复制任务期间向 Amazon S3 目标写入的频率,您可以配置 cdcMaxBatchIntervalcdcMinFileSize 额外连接属性。这可以提高分析数据的性能,而无需任何额外的开销操作。有关更多信息,请参见 使用 Amazon S3 作为 Amazon DMS 的目标时的端点设置