在调用部分接口配置或查询迁移或同步、订阅任务时,您需要配置或查询预留参数Reserve来完善或查看源或目标实例的配置信息(比如目标Kafka数据库的数据存储格式、云企业网CEN的实例ID)。本文将介绍Reserve参数的适用场景和配置说明。
相关接口
Reserve的配置说明
Reserve的数据类型为字符串String,传入格式为JSON,其适用场景和配置说明如下所示。
说明 如所传入数据为数值,则您需加英文双引号(""),将其转变为字符串String。
- 通过如下Reserve参数,配置DTS迁移或同步任务中目标已存在表的处理模式和全量写入速率。
参数 是否必填 说明 targetTableMode 是 目标已存在表的处理模式: - 0:预检查并报错拦截。
- 2:忽略报错并继续执行。
dts.datamove.source.bps.max 否 每秒全量同步或迁移的数据量,取值为[0,9007199254740991]的整数,单位为MB。 - 当目标实例的数据库类型为Kafka时,您需在Reserve参数中配置Kafka数据库的信息,以及投递到Kafka数据库中的数据存储格式。
参数 是否必填 说明 destTopic 是 目标Kafka数据库中迁移或同步对象所属Topic。 destVersion 是 目标Kafka数据库的版本。支持传入1.0、0.9、0.10。 说明 如Kafka数据库版本为1.0及以上,则需传入 1.0。destSSL 是 连接目标Kafka数据库的方式,取值为: - 0:非加密连接。
- 3:使用SCRAM-SHA-256进行加密连接。
dest.kafka.schema.registry.url 否 如使用 Kafka Schema Registry ,您需要输入在Kafka Schema Registry中用于注册Avro Schema的URL或IP。 sink.kafka.ddl.topic 否 输入具体的Topic,用于存储DDL信息。如果未输入,DDL信息默认存储在destTopic输入的Topic中。 kafkaRecordFormat 是 数据投递到目标Kafka数据库中的存储格式,取值为: - canal_json:使用Canal来解析数据库增量日志,并将增量数据传输至目标Kafka数据库中,数据存储格式为Canal Json。
- dts_avro:一种数据序列化格式,可将数据结构或对象转化成便于存储或传输的格式。
- shareplex_json:使用数据复制软件Shareplex读取源库中的数据,将数据写入至目标Kafka数据库时,数据存储格式为Shareplex Json。
- debezium:一种捕获数据变更的工具,支持将源PolarDB O引擎集群中的数据更新实时流式传输到目标Kafka数据库中。
说明 更多格式说明,请参见 Kafka集群的数据存储格式。destKafkaPartitionKey 是 Kafka Partition(分区)同步策略,取值为: - none:将所有数据和DDL信息都投递到目标Topic的Partition 0。
- database_table:将库名与表名合并作为Partition Key来计算Hash值,然后将各个表的数据和DDL信息投递到目标Topic中的各个Partition。
- columns:将表中的列(默认为主键,如果无主键则使用唯一键)作为Partition Key来计算Hash值,然后将不同的行投递到目标Topic的各个Partition中。您也可以指定单个或多个列作为Partition Key来计算Hash值。
说明 更多分区同步策略说明,请参见 Kafka Partition同步策略说明。示例:{ "destTopic": "dtstestdata", "destVersion": "1.0", "destSSL": "0", "dest.kafka.schema.registry.url": "http://12.1.12.**/api", "sink.kafka.ddl.topic": "dtstestdata", "kafkaRecordFormat": "canal_json", "destKafkaPartitionKey": "none" }
- 当源和目标实例的数据库类型为MongoDB时,您需在Reserve参数中指定MongoDB数据库的架构。
参数 是否必填 说明 示例 srcEngineArchType 是 源数据库MongoDB的架构类型。 - 0 :单节点架构。
- 1:副本集架构。
- 2:分片集群架构。
{ "srcEngineArchType": "1" }
destEngineArchType 是 目标数据库MongoDB的架构类型。 - 0 :单节点架构。
- 1:副本集架构。
- 2:分片集群架构。
{ "destEngineArchType": "1" }
- 当源或目标实例为通过云企业网CEN接入的自建数据库时,您需在Reserve参数中配置云企业网实例ID。
参数 是否必填 说明 示例 srcInstanceId 是 源实例的云企业网实例ID。 { "srcInstanceId": "cen-9kqshqum*******" }
destInstanceId 是 目标实例的云企业网实例ID。 { "destInstanceId": "cen-9kqshqum*******" }
- 当目标实例的数据库类型为DataHub或MaxCompute时,您需在Reserve参数中配置目标库使用的附加列规则。
参数 是否必填 说明 isUseNewAttachedColumn 是 附加列命名规则如下: - 使用新附加列命名规则:isUseNewAttachedColumn取值为true。
- 使用旧附加列命名规则:isUseNewAttachedColumn取值为false,且disableAttachedDTSColumn不能为true。
- 不使用默认附加列命名规则:disableAttachedDTSColumn取值为true,且isUseNewAttachedColumn为false。
disableAttachedDTSColumn 否 - 当源实例的数据库类型为Oracle时,您需在Reserve参数中配置Oracle实例的类型。
参数 是否必填 说明 srcOracleType 是 Oracle实例的类型,取值为: - sid:非RAC实例。
- serviceName:RAC或PDB实例。
- 当目标实例的数据库类型为PolarDB MySQL时,您需在Reserve参数中配置PolarDB MySQL实例的引擎类型。
参数 是否必填 说明 anySinkTableEngineType 是 PolarDB MySQL实例的引擎类型,取值为: - innodb:默认存储引擎。
- xengine:联机事务处理OLTP(On-Line Transaction Processing)数据库存储引擎。
- 当源和目标实例的数据库类型均为MySQL(包括RDS MySQL和自建MySQL)、PolarDB MySQL、AnalyticDB MySQL 3.0或RDS MariaDB 3.0时,您需在Reserve参数中配置源表DMS_ONLINE_DDL过程中是否复制临时表到目标库。
参数 是否必填 说明 sqlparser.dms.original.ddl 是 是否迁移源库使用数据管理DMS(Data Management Service)执行Online DDL变更产生的临时表数据,取值为: - true:迁移Online DDL变更产生的临时表数据。
说明 Online DDL变更产生的临时表数据过大,可能会导致迁移任务延迟。
- false:不迁移Online DDL变更产生的临时表数据,只迁移源库的原始DDL数据。
说明 该方案会导致目标库锁表。
- true:迁移Online DDL变更产生的临时表数据。