名称解释:
KFS:Kingbase Flysync的缩写,是人大金仓自主研发的、能够在异构数据平台间实现实时、增量数据同步的产品CDC:即Changed Data Capture,增量数据获取
一、安装前准备
1.1 软件环境要求
KFS支持在CentOS 6.X、CentOS 7.X、Kylin 4.0、普华5.0、UOS 20、凝思6.0、湖南麒麟3.x、专用机海光CPU +中科方德OS等64位发行版本上安装部署。Kingbase Flysync支持的SQLServer版本为: 2008、2014、2016、2017
1.2 安装包准备
准备需要的KFS数据同步软件安装程序,此文档中以如下版本作示例:KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz1.3 注意事项
1.3.1 服务器机器名
安装KFS的服务器,机器名需要和SQLServer数据库的服务名相同:使用SELECT @@servername从SQLServer数据库查询到服务名,然后将数据库服务名和服务器机器名修改一致
注1:修改数据库服务名或服务器机器名
注2:如果修改服务器机器名,需要确保/ect/hosts中映射的机器名也对应修改
1.3.2 安装用户
KFS部署之前,需要建立独立的运行帐号:
[root@sqlserver ~]# useradd -d /home/flysync flysync创建用户后,修改相关用户的密码;
[root@sqlserver ~]# passwd flysync1.3.3 上传并解压安装包
使用flysync用户登录服务器,并上传KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz,然后解压该文件:
tar –zxf KingbaseFlySync-V002R002C004B20230216-replicator.tar.gz二、配置安装
2.1 配置文件列表简介
配置文件所在的路径为:
图 2-1 配置文件列表
flysync.tables:配置相关模式/表,然后对相关表进行CDC配置
setupCDC.conf:CDC安装的配置文件
cleanCDC.sh:卸载/清除CDC
setupCDC.sh:安装CDC的脚本文件
updateCDC.sh:更新CDC的脚本文件
2.2 配置文件配置简介
2.2.1 配置flysync.tables文件

图 2-2 flysync.tables文件
flysync.tables 文件的格式为:
schama_nametable_namecolumn_list 例如:
SCHEMA_1<tab>TABLE_1<tab>C1,C2,C3 表示TABLE_1 的C1、C2、C3 列
注1:<tab>表示TAB键
注2:所有的表都需要有主键
注3:模式名、表名和列名大小写需要和数据库中保持一致
2.2.2 配置setupCDC.conf文件

图2-3 setupCDC.conf文件
配置参数解释如下:
service
服务名称,由用户自行指定(注意:需要和和后面同步工具部署时的服务名称保持一致)
db_host
SQLServer 所在的机器地址和端口,默认localhost,1433
db_name
要同步的表所在的数据库
sa_user
sa 用户的帐号
sa_pass
sa 用户的密码
source_user
同步的用户名称(会自动创建)
source_password
同步用户(source_user配置的用户)密码
delete_user
是否删除同步用户(当存在时,注意:设置为1 时,会强制删除同步用户)一般用在重新部署时
specific_path
flysync.tables 文件所在的路径
file_group_size
创建文件组最大值,不指定默认16GB,值参照增量数据储备大小设定
2.3 部署CDC
2.3.1 安装CDC
配置好flysync.tables和setupCDC.conf文件后,执行setupCDC.sh文件:

图 2-4 安装CDC
2.3.2更新CDC
已经执行setupCDC.sh后,数据库中新增了相关表,此时可以更新flysync.tables中的配置,然后执行update.sh

图 2-5 更新CDC
2.3.3清理CDC
执行cleanCDC.sh可以清除相关CDC配置:

图 2-6 清理CDC
三、验证安装
配置完成CDC后,SQLServer将会捕获相关的数据变更,可以通过插入/更新/删除相关表的数据来进行验证。假设create table dbo.testa(id int primary key,a int)表已经完成CDC配置
初始时无数据:

图 3-1 初始状态
INSERT数据:

图 3-2 解析INSERT操作
UPDATE数据:

图 3-3 解析UPDATE操作
DELETE数据:

图 3-4 解析DELETE操作
四、总结
1、SQLServer CDC功能,只针对有主键的表,如果存在无主键的表,则需要对表添加主键2、安装KFS的服务器机器名需和SQLServer服务名一致
3、SQLServer默认CDC捕获的数据将保留3天:
select retention from msdb.dbo.cdc_jobs where job_type='cleanup';如果想保留更长的时间,则可以执行:execute sys.sp_cdc_change_job @job_type=N'cleanup',@retention=100080;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




