关键字:
中电科金仓、KingbaseFlySync、KFS、同步程序、replicator、数据同步、数据解析、SQLServer、DDL、自动注册、CDC
1.使用场景
SQLServer作为源端进行数据同步时,如果要对业务表的DML进行捕获,则需要先对表开启变更数据捕获(CDC)。例如对业务表dbo.Department开启CDC,此时系统会自动生成cdc.dbo_Department_CT系统更改表(CT代表Capture Table),该CT表中包含业务表中所有的列。
在实际场景中,因业务需要,客户经常会新增业务表/变更业务表表结构,此时就需要及时新增/更新CT系统更改表,否则就会导致DML不解析/解析的DML列不匹配等问题。
基于此场景,KingbaseFlySync提供相关配置参数,支持SQLServer DDL 变更时,自动注册CDC。
2. 配置使用方式介绍
2.1界面配置方式
- 管理员登录KFSMC;
- 使用【部署管理】-【拓扑配置】界面,拖入源端SQLServer图标和相关目标端数据源图标,然后对源端SQLServer进行相关配置
2.2 命令行配置方式
- 在flysync.ini中新增如下配置:
property= replicator.extractor.dbms.enableDDL=true
property= replicator.extractor.dbms.ddlSupportList=CREATE_TABLE,ALTER_TABLE,DROP_TABLE,RENAME
2. 在KingbaseFlySync的replicator安装包中执行安装/更新,使配置生效
3. 支持的DDL范围
- 支持新增表、修改表结构(新增/删除列、修改列类型)、删除表
- 支持对表进行rename
4. 使用限制
- 不支持对字段进行rename(CDC功能自身限制)
- 不支持对表进行truncate操作(CDC功能自身限制)
- 不支持通过writetext方式对现有的text、ntext、image列执行最新日志记录的交互式更新(CDC功能自身限制)
- 进行DDL变更时,需要确认该业务表相关的业务已经解析完成,即DDL变更时不能有业务,因为DDL变更时,SQLServer系统表更新是有延时的,此时可能存在解析出来的变更数据和目标端表结构不一致的情况,这样会导致同步链路异常,从而影响目标端业务的正常进行。
参考资料
《Kingbase FlySync 安装部署手册》
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




