人大金仓KFS数据过滤-类型过滤

关键字:

KingbaseFlysync、数据同步、数据过滤、 类型过滤、skipeventbytype

需求背景

针对数据同步,分发,以及业务需求或保密性等多项目需求,需要kfs支持按操作类型过滤掉不需要进行同步的dml操作类型

原理介绍

KFS的列过滤功能使用skipeventbytype过滤器实现,我们获取源端表数据(存量、增量)的同时获取表结构,KFS数据是通过流的方式进行两端迁移和同步,流的过程中是一个节点一个节点的方式,每个节点都有过滤器,过滤器将对应dml操作类型识别过滤(会严格按照大小写进行模式、表、列名匹配),然后重组数据流转到下一个节点

配置使用方式

在flysync.ini文件中添加如下配置:

svc-remote-filters= skipeventbytype

-----过滤器中添加skipeventbytype过滤器

property = replicator.filter.skipeventbytype.definitionsFile=/home/flysync/replicator/flysync/flysync-replicator/support/filters-config/10.10.3.199_flysync_m_kes_3112_skipeventbytype.json

---------------指定skipeventbytype过滤规则文件路径

示例及配置效果展示

4.1 配置文件说明 {

"public": {

"test": "UPDATE,DELETE" /* 过滤掉 UPDATE和DELETE 操作 */

},

"vip": {

"test1": "DELETE", /* 过滤掉 DELETE 操作 */

"test2": "UPDATE,DELETE" /* 过滤掉 UPDATE和DELETE 操作 */

}

}

以上配置文件表示过滤public模式下的test表对应dml操作及vip模式下的test1,test2下的dml对应操作

4.2 效果展示 创建测试表public.test

test=# create table test(a int primary key,b varchar(64));

向test表中执行对应的dml操作(插入,更新)

file

查看源端kufl解析,update更新操作被过滤

源端kufl

file

查看目标端数据,insert正常入库,update操作未入库

file

常见问题 Skipeventbytype过滤器一般配置在源端,需要严格匹配才能正常过滤,且过滤器使用串行的方式运作,当与其他过滤器结合使用时,需要考虑顺序处理带来的影响

更多信息,参见https://help.kingbase.com.cn/v8/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值