暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

中电科金仓KingbaseFlysync(KFS)支持源端SQLServer的rowversion、timestamp列同步功能介绍及使用说明

原创 KFS补给站 2025-01-08
290


关键字:

中电科金仓、KingbaseFlySync、KFS、同步程序、replicator、数据同步、数据解析、SQLServer、rowversion、timestamp、实时同步

1. 使用场景

SQLServer中,rowversion和timestamp是同义词,通常用作给表行加版本戳的机制,且只是递增的数字,不保留日期或时间。对这两个数据类型插入数据时,只能使用default/null进行赋值,而不能使用特定的值

在实际的业务场景中,用户也会使用到这两种数据类型,但是因为这两种数据类型不能显示插入值,所以需要使用过滤器进行处理。

2. 配置使用方式介绍

2.1 使用dropcolumn过滤器配置

  1. 在flysync.ini中新增如下配置:

svc-remote-filters=dropcolumn
property=replicator.filter.dropcolumn.definitionsFile=/home/flysync/dropcolumn.json

dropcolumn.json配置文件示例

[ { "schema": "test", "table": "*", "columns": [ "column_a", "column_b", ] } ]


2. 在KingbaseFlySync的replicator安装包中执行安装/更新,使配置生效

注1、该过滤器配置后,将指定列从解析出的sql中删除

注2、该过滤器需要对表名、列名进行配置,如果数据库中rowversion类型使用频繁,此处可能会产生一定的工作量

2.2 使用dropcolumnbytimestamp过滤器配置

  1. 在flysync.ini中新增如下配置:

## sqlserver存在rowversion/timestamp类型时,目标端需要配置如下参数:

svc-remote-filters = dropcolumnbytimestamp

##后续的这四项配置默认值是true,如果使用默认值,则ini中无需配置

property=replicator.filter.dropcolumnbytimestamp.dropInsert=true

property=replicator.filter.dropcolumnbytimestamp.dropUpdateSet=true

property=replicator.filter.dropcolumnbytimestamp.dropUpdateWhere=true

property=replicator.filter.dropcolumnbytimestamp.dropDelete=true


2. 在KingbaseFlySync的replicator安装包中执行安装/更新,使配置生效

注1:此种配置方式,会将数据库中所有的rowversion/timestamp类型从解析出的sql中删除

使用限制

无。

参考资料

《Kingbase FlySync 安装部署手册》

最后修改时间:2025-01-09 18:22:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论