本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更改处理优化设置
以下设置确定 Amazon DMS 如何在更改数据捕获 (CDC) 期间处理对目标表的更改。这些设置中的多个设置取决于目标元数据参数 BatchApplyEnabled
的值。有关 BatchApplyEnabled
参数的更多信息,请参阅目标元数据任务设置。有关如何使用任务配置文件设置任务设置的信息,请参阅。任务设置示例.
更改处理优化设置包括:
以下设置仅在目标元数据参数 BatchApplyEnabled
设置为 true
时应用。
-
BatchApplyPreserveTransaction
— 如果设置为true
,则保留事务完整性,并确保批处理包含源中的事务的所有更改。原定设置值为true
。该设置仅适用于 Oracle 目标终端节点。如果设置为
false
,则会临时丢失事务完整性以提高性能。不能保证将源中事务的所有更改都应用于单个批处理中的目标。默认情况下,Amazon DMS 在事务模式下处理更改,这可保护事务完整性。如果您可以承受事务完整性的临时失效,可以改为使用批量优化应用 选项。该选项有效分组事务并批量应用,以实现提高效率的目的。使用批量优化的应用选项几乎总是违反参照完整性约束。因此,我们建议您在迁移过程中关闭这些限制,然后在转换过程中再次打开它们。
-
BatchApplyTimeoutMin
— 以秒为单位设置最短时间(以秒为单位)Amazon DMS在每次应用批量更改之间,等待。默认值是 1。 -
BatchApplyTimeoutMax
— 以秒为单位设置最长时间(以秒为单位)Amazon DMS等待每次应用批量更改之间,然后再超时。默认值是 30。 -
BatchApplyMemoryLimit
— 设置用于中预处理的最大内存量 (MB)。Batch 优化的应用模式. 默认值是 500。 -
BatchSplitSize
— 设置在单个批次中应用的最大更改数。默认值 0 意味着未应用任何限制。
以下设置仅在目标元数据参数 BatchApplyEnabled
设置为 false
时应用。
-
MinTransactionSize
— 设置要包含在每个事务中的更改的最小数目。默认值是 1000。 -
CommitTimeout
— 以秒为单位设置的最长时间Amazon DMS在声明超时前批量收集事务。默认值是 1。
当目标元数据参数 BatchApplyEnabled
设置为 true
或 false
时,以下设置适用。
-
HandleSourceTableAltered
— 将此选项设置为true
用于在更改源表时更改目标表。原定设置值为true
。
以下设置仅适用于BatchApplyEnabled
设置为false
.
-
LoopbackPreventionSettings
— 这些设置为双向复制涉及的任何一对任务中每个正在进行的复制任务提供环回防护。环回防护 可防止在双向复制的两个方向上应用完全相同的更改,这可能会损坏数据。有关双向复制的更多信息,请参阅执行双向复制.
Amazon DMS 尝试将事务数据保留在内存中,直到将事务完全提交给源和/或目标。但是,超过所分配内存的事务或未在指定时限内提交的事务将写入到磁盘。
以下设置适用于更改处理优化,无论更改处理模式如何。
-
MemoryLimitTotal
— 设置所有事务在写入磁盘之前可占用的内存的最大内存 (以 MB 为单位)。默认值是 1024。 -
MemoryKeepTime
— 设置每个事务在写入磁盘之前可在内存中保留的最长时间 (以秒为单位)。从 Amazon DMS 开始捕获事务之时起计算持续时间。默认值是 60。 -
StatementCacheSize
— 设置在向目标应用更改时要存储在服务器上以便稍后执行的预编译语句的最大数目。默认值是 50。最大值为 200。
要控制在数据复制任务期间写入 Amazon S3 目标的频率,您可以配置cdcMaxBatchInterval
和cdcMinFileSize
额外的连接属性。在分析数据时,这能够产生更好的性能,而不需要任何额外的开销操作 有关更多信息,请参阅 将 Amazon S3 作为目标时的额外连接属性Amazon DMS。