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

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

KFS补给站 2023-09-28
214


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操作(插入,更新)

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

源端kufl

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

常见问题

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

参考文档:

《KFS常见过滤器配置一览》

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

评论