GBase RTSync 专题--RTSync配置(四)*重点*

上一篇文章着重介绍了读组件【source】的配置方法,那么有同学会好奇是不是要介绍写组件的配置方法了?

其实不然,写组件不需要配置,打注释度就可以。这就不得不提起GBase RTSync的工作方式了。GBase RTSync 实时同步系统由四个子系统组件组成,分别是读数据组件、消息队列组件、写数据组件和管理组件 。经过上百次的测试与验证,得出的同步方案最优解为:不采用RTSync的写组件,采用GBase 8a的kafka consumer 消费消息队列组件中生产的数据。

所以无需配置写组件,在之后会介绍GBase 8a的kafka consumer 配置方法。

今天介绍的是源端数据库与目标端数据库的配置方法。重中之重!各位仔细看

<mappings>该标签为读写端数据库表映射关系
id:唯一标示,因为可以配置多个source-target节点,需要确保该值唯一性。
<source-target id="4.179_4.179" groupName="gn1">该标签为映射实例,支持多个source-target映射,不过target仅支持同一数据库实例的同一数据库(oracle为schema)下的表信息

  • id:唯一标示,因为可以配置多个source-target节点,需要确保该值唯一性。 
  • groupName: 代表该源所属于的组,通过配置该属性可以控制多少sourcetarget共享一份数据实例

<db> 为读写端数据库相关信息

重点来了

【sourcedb】源端(读端)数据库配置信息配置信息,其相关配置样例如下

<sourcedb
						charset="GB18030"
						type="GBASE8T"  
						fetchSize="500"
						oracleScnStep="50000"
						timestampWithFraction="false"
						maxRecordsPerRead="200" 
						maxSizeOfPerRecord="1024" 
						cacheMaxSize="2147463480"                                                transMaxCount="1500000"                                                packetMaxSize="10240000"
						timeOut="2"
						driver="com.informix.jdbc.IfxDriver"
						url="jdbc:informix-sqli://10.10.10.10:8888/test2:INFORMIXSERVER=gbase_on;DB_LOCALE=zh_cn.gb18030-2000;CLIENT_LOCALE=zh_cn.gb18030-2000;newcodeset=gb18030,gb18030-2000,5488;dbdate=y4md"
						user="test"
						password="111111"
						catalog="test2"                                                haNodeName=""
                                                haCheckTime="30"/>
配置选项选项说明
charset

数据采用byte读取后采用该编码方式转为string数据。

type

标识数据库类型,目前支持GBASE8T,GBASE8TADV,ORACLE,ORACLE12C。当sourcedb的type为GBASE8TADV时,targetdb的type也必须为GBASE8TADV。

fetchSize

设置jdbc批次返回数据量到结果集的大小,防止内存溢出,目前仅oracle有效,其他数据库不起作用。

oracleScnStep

步长大小,主要用于读取oracle logminer信息时指定末端scn号大小,防止数据过大等待时间过长。

timestampWithFraction

读取timestamp类型数据是否需要包含毫秒部分。

maxRecordsPerRead为每次读取的最大记录数,cdc使用,可不用修改。
maxSizeOfPerRecord

表示每行数据最大需要的字节数,需要根据表的定义进行粗略估算,将每一列的定义长度换算成字节数后进行相加,然后向上按1k的倍数取整(例如:一行数据的字节数为3600,可以配置为4k即4096)。

cacheMaxSize

事务缓存在内存中的最大数据量,单位为Byte,默认大小为100MB。超过该大小的事务会落地到磁盘中。

transMaxCount

大事务拆分功能,如果事务条数超过指定配置大小,将会按照该条数将事务分为多个小事务。默认100000,目前仅oracle支持。

packetMaxSize

事务分包读取的最大数据量,单位为Byte,默认大小为5MB。如果单条数据超过该大小,则保证该条数据的完整。

timeOut

为读取数据的超时时间,单位为秒。

driver

为数据库对应的jdbc驱动的Driver名称。

url

为连接该数据库的url,请注意填写正确的IP地址、端口号、数据库用户名和密码。

user

为数据库用户,针对全量同步,该用户需要有对dbName指定库表的查询权限;针对增量同步,该用户需要有查询cdc log的权限的权限(GBase 8t)或者使用logminer的权限(Oracle)

password

数据库密码。

catalog

针对oracle为schema信息,针对其他数据库为用户数据库,即同步数据的来源库。

haNodeName

当dccHost配置了多个ip时,认为用于cm切换,因此需要配置与dccHost个数对应的haNodeName,值应配置为dccHost中对应ip的服务器的hostname。

haCheckTime

检测cm是否切换的轮询时间间隔,单位为秒。当type为GBASE8TADV时有效

除了以上配置选项之外还有其余参数,但是目前这些已经足够应对90% 的同步信息。其他的配置参数可以参考安装包的sample目录中的内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值