通道配置

 订阅-点击“配置”

 填写相应的目标数据库信息-点击“确定”

 配置完成后,点击通道属性,可以对控制通道参数进行编辑

注:若点击目标库中的绑定,等同于解除所有数据表的同步

 通道在数据库和策略之间,进行管理,调整的一个桥梁。为数据应用提供一个更为合理,灵活的框架,保证软件能够进行多数据库配置。

  • 作用
    为企业数据应用,提供一个桥梁作用,操作方便快捷,简单。
  • 功能:
  1. 数据库和数据应用策略之间桥梁连接作用
  2. 数据应用过程中,多线程策略管理服务
  3. 数据应用过程中,针对整个策略中的数据,在通道层,可以整体配置表附加信息
    • 加载过程中,DDL的控制粒度,是否执行DDL等操作
    • 加载过程中,是否增加辅助列:合并分区列数据、源端生产操作提交时间、数据最后操作类型、目标端数据加载时间、数据首次插入到目标端需要的时间字段。
  4. 数据加载的过程中,是否完全过滤DDl操作等
  5. 控制全量、增量数据加载方式
    参数参考列表:
参数名 参数值 参数描述
full_error_ignore 0 全量用sql绑定方式加载时,如果此时表没有主键的话,设置为1,可以忽略全量装载期间的错误
full_load_with_pk 1 设置为1时,全量装载时先建主键和唯一索引再装载数据,默认为0,装载完数据之后再建主键和其他索引
full_sql_mode 0 全量装载时使用SQL模式,0位load方式装载,1位sql绑定方式加载,2位直接使用sql语句加载,默认为0,load方式加载
IfChangeColumnNameCase 0 是否修改目标端列名的大小写,0 不修改,按照原来的大小写,1修改为大写,2修改为小写,默认为0
IfChangeSameDatabaseDatatype 0 是否针对同种数据库类型,转换为ZCBUS数据类型,如果为1,则返回源数据的SQL语句,如果为0,则返回ZCBUS翻译的SQL语句
ifFilterDDL 0 全量、增量期间,是否过滤DDL,0,不过滤,1过滤
ifFilterDelete 0 设置为1时,增量装载过程中过滤掉delete操作,默认为0不过滤
ifFilterInsert 0 设置为1时,增量装载过程中过滤掉insert操作,默认为0不过滤
ifFilterUpdate 0 设置为1时,增量装载过程中过滤掉update操作,默认为0不过滤
ifRepairDataForUpdate 1 是否启用自动修复数据功能 1 允许启用更新失败自动修复, 0 不启用自动修复,兼容JAVA/C
IfSplitUpdateMessage 0 是否拆分update message,默认为0,设置为1时,如果update可并发,会拆分并发装载
IfUpdateSplitDeleteInsert 0 设置为1时,将update转成delete+insert装载,默认为0
indexspacename 索引存储表空间
kafka_consume_timeout 1000 消费KAFKA集群中消费超时时间,单位毫秒,默认5000毫秒,最小为1000毫秒。设置小于1000毫秒,则设置参数失效
max_message_size 5242880 客户端装载目标是kafka、rocketmq、rabbitmq时,发送的最大的消息长度,单位是字节,默认是5242880,设置为0的话,每行数据都会拆分成单条发送
max_consume_message 64 设置一次消费的最大消息数,默认32,最大64,最小为装载线程数
max_sql_length 0 SQL_MODE=2的情况下生效,直接sql语句装载时,如果目标库支持一条insert可以包含多个values的模式,该参数可以设置为一条insert的sql语句的最大长度,默认为0,一次插入一条数据
no_message_restart_interval 0 可以设置当一段时间内一直消费不到数据,重启通道进程,单位秒,设置重启间隔为0则不会重启进程,最小间隔为60
real_delay_load_max 0 增量延迟加载最大时间,单位为分钟,默认为0,不延迟。real_delay_load_min和real_delay_load_max必须同时设置,而且real_delay_load_max需要大于real_delay_load_min。如果(当前时间-kafka里数据的时间) <= real_delay_load_min,则暂时不加载,等到(当前时间-kafka里数据的时间) > real_delay_load_max启动加载,直到(当前时间-kafka里数据的时间) <= real_delay_load_min暂停加载,进入下一轮等待
real_delay_load_min 0 增量延迟加载最小时间,单位为分钟,默认为0,不延迟
ZCBUS_TARGET_OPTIME 0 增量同步期间,是否增加增量操作时间列,0不增加,1增加,兼容C
real_sql_mode 0 增量装载时使用sql模式,0为load方式装载,1为sql绑定方式装载,2为直接使用sql方式装载,默认为1,sql绑定方式加载
RepairDataofNULL 如果NOT NULL列插入NULL,替换成设置的字符串
tablespacename 表存储 表空间
type_map 类型映射,格式 源类型1:目标类型1,源类型2:目标类型2
update_to_insert_cols_diff_skip 0 update转为delete+insert时,如果update的after和before数据的列组合起来仍然不够实际列数时,是否跳过,默认为0,不跳过
zcbusmq_mode 0 设置为1时,全量数据发布时使用zcbus消息队列模式,存储到本地,默认为0
load_with_tag 0 双向复制时使用此参数,设置为1时,如果目标库是mysql,装载时不写binlog日志;****如果目标库是oracle,装载时打上tag;如果目标库是sqlserver,装载时加交易名
ZCBUS_INSERT_OPTIME 0 全量期间,数据首次插入时间记录字段,兼容C
ZCBUS_SOURCE_OPTIME 0 是否添加源端commit时间信息列,0不添加,1添加,兼容C
ZCBUS_SOURCE_OPTYPE 0 是否添加操作类型列,全量期间默认为INSERT/增量跟进实际操作类型记录,0不添加,1添加,兼容C
ZCBUS_SOURCE_PART 是否添加辅助列,空,则不添加,否则为全量期间,自动增加该字段,兼容C;如果内容含冒号:colname:value格式,则显示列名和列对应的值。;如果没有冒号,则为value,列名为ZCBUS_SOURCE_PART
statistics_into_influxdb 0 是否将增量信息记录到influxdb中 0 不添加 1添加
merge_kafka_message 1 默认0,单包加载处理,设置为1时,增量消费时同一个表连续的小包会进行合并,目前是insert和delete的小包会合并,最多合并成5M
output_data_format 0 目标为kafka、rocketmq、rabbitmq时,输出的内容格式:0: 输出json格式 1: 输出sql语句格式
compress_level 0 目标为rocketmq时,设置压缩级别,范围是0 - 9
delete_before_insert 0 设置为1时,如果bsd包里的操作全是insert的时候,会先批量删除,再执行插入
load_error_retry_times 3 加载出现错误后,重试次数,最小三次,可以设置处理N次
count_after_full_sync_end 1 设置为1时,全量装载完成时对表进行select count操作,统计目标库的总记录数,默认为1
compatible_with_old_bsdata 0 设置为1时,对旧版本的bsd数据里的列类型转换为新类型后装载
insert_parallel_load 1 目标端为数据库时,可以控制对于同一张表的insert操作是否可以并发装载,默认为1,可以并发装载,设置为0时,取消并发装载
delete_parallel_load 1 目标端为数据库时,可以控制对于同一张表的删除操作是否可以并发装载,默认为1,可以并发装载,设置为0时,取消并发装载
audit_mode 0 设置为1时,开启审计模式:
1.自动添加ZCBUS_SOURCE_OPTYPE列记录操作类型
2.全量只建表不建主键和索引,增量ddl全部过滤。
3.所有dml操作自动转为insert操作,insert操作的类型是insert,update操作拆分为2条,before值的操作类型是updatebefore,after值的操作类型为update,delete操作的类型是delete
dml_error_skip 0 设置为1时,可以跳过出错的dml操作,目标为restapi时,可以拆分发送,跳过出错的内容
database_update_interval 0 配置数据库统计信息和offset更新的间隔时间,单位为分钟,默认为0,装载完之后马上更新配置表
multi_table_merge_mode 多表合一参数,设置为1时,该通道使用多表合一模式,该功能主要用于对分布式数据库的分表数据进行合并装载,去掉多余的ddl操作,通道内配置的多个表需要源端表结构完全一致,多个表发起订阅时,需要所有表一起发起。此参数修改,需要重启服务才能生效

关于ZCBUS辅助列的描述:

参数名 参数值 描述
ZCBUS_SOURCE_OPTIME 0 是否添加源端commit时间信息列,格式:1. 0为不添加列,1为添加列,使用ZCBUS_SOURCE_OPTIME默认列名2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名
ZCBUS_SOURCE_OPTYPE 0 是否添加操作类型列,全量期间默认为INSERT/增量跟进实际操作类型记录,格式:1. 0为不添加列,1为添加列,使用ZCBUS_SOURCE_OPTYPE默认列名2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名
ZCBUS_TARGET_OPTIME 0 增量同步期间,是否增加增量操作时间列,格式:1. 0为不添加列,1为添加列,使用ZCBUS_TARGET_OPTIME默认列名2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名
ZCBUS_INSERT_OPTIME 0 是否增加第一次插入时的操作时间列,格式:1. 0为不添加列,1为添加列,使用ZCBUS_INSERT_OPTIME默认列名2. 填写除了0和1之外的值均为添加列,所填值设置为自定义列名
ZCBUS_SOURCE_PART 是否添加辅助列,空,则不添加,否则为全量期间,自动增加该字段,兼容C;如果内容含冒号:colname:value格式,则显示列名和列对应的值。;如果没有冒号,则为value,列名为ZCBUS_SOURCE_PART

注:

(1)需要重新全量订阅
(2)需要使用drop模式,清理目标库表
(3)订阅端加了此类参数,整个通道里所有表都会添加对应辅助列
(4)如果设置自定义列名,需要设置字符串,不能设置数字### 
(5)格式:列名:值,列名2:值2...
(6)订阅端加了此参数,整个通道里所有表都会添加相同的辅助列
(7)ZCBUS_SOURCE_PART生成的表是以添加的辅助列list的分区表
(8)ZCBUS_SOURCE_PART仅输入一个字符串,则为数据来源字符串,此时针对ORACLE/MYSQL(其他数据库暂时不支持自动分区)可以自动进行分区,字段名为ZCBUS_SOURCE_PART
(9)ZCBUS_SOURCE_PART输入多个列名,如果多列,或者列名自定义可以使用列名:值方式拼接字段,","号隔开即可。
    col1:col1dt,col2:col2dt两列,此时DDL不支持分区,仅需要增加两列,默认字符串列长度为VARCHAR2/VARCHAR(40)
文档更新时间: 2022-05-20 23:06   作者:操李红