目标元数据任务设置 - AWS 数据库迁移服务

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

目标元数据任务设置

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

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

  • LOB设置-决定如何管理大型对象 (LOBs) 的设置。如果您设置 SupportLobs=true,则必须将下列项之一设置为 true

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

    • InlineLobMaxSize— 此值决定了在满载期间哪些以内联方式LOBs AWS DMS 传输。小额LOBs传输比从源表中查找更有效。在满载期间, AWS DMS 检查所有LOBs并对小于的进行内联传输InlineLobMaxSize。LOBs AWS DMS 转账全部LOBs大于 InlineLobMaxSize in FullLobModeInlineLobMaxSize 的默认值是 0,范围为 1–102400 KB(100 MB)。InlineLobMaxSize只有在您知道大多数值LOBs都小于中指定的值时,才为设置值InlineLobMaxSize

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

    有关使用这些任务LOB设置的标准的更多信息,请参阅在 AWS DMS 任务中设置对源数据库的LOB支持。您还可以控制对单个表LOBs的管理。有关更多信息,请参阅 表和集合设置规则和操作

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

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

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

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

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

    • DataErrorPolicy

    • ApplyErrorDeletePolicy

    • ApplyErrorInsertPolicy

    • ApplyErrorUpdatePolicy

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

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

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

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

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

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

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

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

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

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

    • DynamoDB

    • Amazon Kinesis Data Streams

    • Amazon MSK

    • 亚马逊 OpenSearch 服务

    • Amazon Redshift

    AWS DMS ParallelLoadThreads支持 “我” SQL 作为额外的连接属性。 ParallelLoadThreads不适用于 “我的SQL任务” 设置。

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

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

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

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

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

    • Amazon DocumentDB(与 MongoDB 兼容)

    • Amazon Kinesis Data Streams

    • Amazon Managed Streaming for Apache Kafka

    • 亚马逊 OpenSearch 服务

    • Amazon Redshift

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

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