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

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

目标元数据任务设置

目标元数据设置包括:有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例

  • TargetSchema – 目标表架构名称。如果此元数据选项为空,则使用源表中的架构。如果未定义任何源架构,Amazon DMS 自动将目标数据库的所有者前缀添加到所有表。对于 MySQL 类型的目标终端节点,该选项应保留为空。在数据映射中重命名架构优先于此设置。

  • LOB 设置 – 用于确定大对象 (LOB) 的管理方式的设置。如果您设置 SupportLobs=true,则必须将下列项之一设置为 true

    • FullLobMode – 如果将该选项设置为 true,则必须为 LobChunkSize 选项输入值。输入在将数据复制到目标时要使用的 LOB 数据块的大小 (以 KB 为单位)。FullLobMode 选项最适合非常大的 LOB 大小,但往往会导致加载速度较慢。LobChunkSize 的建议值为 64 KB。将 LobChunkSize 的值增加到 64 KB 以上可能会导致任务失败。

    • InlineLobMaxSize – 此值确定 Amazon DMS 在完全加载期间以内联方式传输的 LOB。传输小型 LOB 比从源表查找它们的效率更高。完全加载期间,Amazon DMS 将检查所有 LOB 并对小于 InlineLobMaxSize 的 LOB 执行内联传输。Amazon DMS 将以 FullLobMode 传输所有大于 InlineLobMaxSize 的 LOB。InlineLobMaxSize 的默认值是 0,范围为 1–102400 KB (100 MB)。仅当您知道大部分 LOB 小于 InlineLobMaxSize 中指定的值时,为 InlineLobMaxSize 设置值。

    • LimitedSizeLobMode – 如果将该选项设置为 true,则必须为 LobMaxSize 选项输入值。输入单个 LOB 的最大大小(以 KB 为单位)。LobMaxSize 的最大建议值为 102400 KB (100 MB)。

    有关这些任务 LOB 设置的使用条件的更多信息,请参阅在 Amazon DMS 任务中为源数据库设置 LOB 支持。您还可以控制各个表的 LOB 管理。有关更多信息,请参见 表和集合设置规则和操作

  • LoadMaxFileSize – 基于 CSV 的目标端点(例如 MySQL、PostgreSQL 和 Amazon Redshift)的选项,支持使用逗号分隔值 (.csv) 文件加载数据。LoadMaxFileSize 定义磁盘上存储的、未加载的数据(例如 .csv 文件)的最大大小。该选项会覆盖目标端点连接属性 maxFileSize。您可以提供介于 0 (指示该选项不会覆盖连接属性) 和 100000 KB 之间的值。

  • BatchApplyEnabled – 确定是否单独应用了每个事务或是否批量提交了更改。默认值为 false

    BatchApplyEnabled 设置为 true 时,DMS 要求表上有主键 (PK) 或唯一密钥 (UK)。如果源表上没有 PK 或 UK,则只能应用批量插入,不能应用批量更新和删除。

    BatchApplyEnabled 设置为 true 时,如果目标表具有唯一约束和主键,则 Amazon DMS 生成错误消息。如果 BatchApplyEnabled 设置为 true,则不支持同时具有唯一约束和主键的目标表。

    如果设置BatchApplyEnabled为 true,并且在使用默认错误处理策略的表中Amazon DMS遇到数据错误,则其余表的Amazon DMS任务会从批处理 one-by-one 模式切换到模式。要更改此行为,可以在任务设置 JSON 文件的 "ErrorBehavior" 组属性中设置对以下策略的 "SUSPEND_TABLE" 操作:

    • DataErrorPolicy

    • ApplyErrorDeletePolicy

    • ApplyErrorInsertPolicy

    • ApplyErrorUpdatePolicy

    有关此 "ErrorBehavior" 组属性的更多信息,请参阅为 Amazon 数据库迁移服务任务指定任务设置中的任务设置 JSON 文件示例。将这些策略设置为 "SUSPEND_TABLE" 后,Amazon DMS 任务会暂停所有引发错误的表数据错误,并继续以批处理模式处理所有表。

    您可以将 BatchApplyEnabled 参数与 BatchApplyPreserveTransaction 参数一起使用。如果 BatchApplyEnabled 设置为 true,则 BatchApplyPreserveTransaction 参数确定事务完整性。

    如果 BatchApplyPreserveTransaction 设置为 true,则保留事务完整性,并确保批处理包含源中的事务的所有更改。

    如果 BatchApplyPreserveTransaction 设置为 false,则会临时放弃事务完整性以提高性能。

    BatchApplyPreserveTransaction 参数仅适用于 Oracle 目标终端节点,并且仅在 BatchApplyEnabled 参数设置为 true 时相关。

    如果复制中包含 LOB 列,则只能在受限 LOB 模式下使用 BatchApplyEnabled

    有关将这些设置用于更改数据捕获 (CDC) 负载的更多信息,请参阅更改处理优化设置

  • MaxFullLoadSubTasks – 指示要并行加载的表的最大数目。默认值为 8;最大值为 49。

  • ParallelLoadThreads – 指定 Amazon DMS 用于将每个表加载到目标数据库的线程数。对于非 RDBMS 目标,此参数具有最大值。DynamoDB 目标的最大值为 200。亚马逊 Kinesis Data Streams、Apache Kafka 或 OpenSearch 亚马逊服务目标的最大值为 32。您可以要求增加该最大值。ParallelLoadThreads 适用于完全加载任务。有关单个表的并行加载设置的信息,请参阅 表和集合设置规则和操作

    该设置适用于以下端点引擎类型:

    • DynamoDB

    • Amazon Kinesis Data Streams

    • Amazon MSK

    • 亚马逊 OpenSearch 服务

    • Amazon Redshift

    Amazon DMS支持 ParallelLoadThreads for MySQL 作为额外连接属性。ParallelLoadThreads 不适用于 MySQL 作为任务设置。

  • ParallelLoadBufferSize 指定在缓冲区(并行加载线程将数据加载到目标时使用)中存储的最大记录数。默认值是 50。最大值为 1000。目前,此设置仅在 DynamoDB、Kinesis、Apache Kafka 或是目标时才有效。 OpenSearch 将此参数与 ParallelLoadThreads 一起使用。仅在有多个线程时 ParallelLoadBufferSize 才有效。有关单个表的并行加载设置的信息,请参阅 表和集合设置规则和操作

  • ParallelLoadQueuesPerThread – 指定每个并发线程访问的队列数,以便从队列中取出数据记录并为目标生成批处理负载。默认值是 1。目前,只有在 Kinesis 或 Apache Kafka 为目标时,此设置才有效。

  • ParallelApplyThreads— 指定 CDC 加载期间Amazon DMS用于将数据记录推送到亚马逊 DocumentDB、Kinesis、Amazon MSK OpenSearch 或 Amazon Redshift 目标终端节点的并发线程数。默认值为零 (0)。

    该设置仅适用于 CDC。该设置不适用于完全加载。

    该设置适用于以下端点引擎类型:

    • Amazon DocumentDB(与 MongoDB 兼容)

    • Amazon Kinesis Data Streams

    • Amazon Managed Streaming for Apache Kafka

    • 亚马逊 OpenSearch 服务

    • Amazon Redshift

  • ParallelApplyBufferSize— 指定在每个缓冲队列中存储的最大记录数,以便并发线程在 CDC 加载期间推送到亚马逊 DocumentDB、Kinesis、Amazon MSK OpenSearch 或 Amazon Redshift 目标终端节点。默认值是 100。最大值为 1000。当 ParallelApplyThreads 指定多个线程时,请使用此选项。

  • ParallelApplyQueuesPerThread— 指定每个线程访问的队列数量,以便从队列中提取数据记录,并在 CDC 期间为 Amazon DocumentDB、Kinesis、Amazon MSK 或终端节点生成批量加载。 OpenSearch默认值是 1。