CDC系列之二 :使用Dejournaling filter routine在Caché上通过Shadow实现CDC
Caché Shadow
上次介绍了使用InterSystems IRIS/Caché的Reporting类型的异步镜像成员获取数据变更。但早期的Caché并不支持镜像,例如Caché 2008,它只支持Shadow。
在这些早期版本上是否也可以实利用Journal实现类似CDC的功能呢?答案是肯定的,就是利用Shadow服务器的Dejournaling filter routine (Dejournaling过滤器routine)。
Dejournaling filter routine
InterSystems Caché的 Dejournaling过滤器routine是一个用户自定义的routine,用于在Shadow服务器上过滤Journal记录。当配置了Dejournaling 过滤器后,Shadow服务器在redo journal前会自动调用Dejournaling过滤器routine。该routine传入参数以下:
- pid:记录进程ID;
- dir:源数据库目录;
- glo:Global节点(包括下标);
- type: 操作类型,为S (Set)、K (Kill)、s (BITSET)、k (ZKILL);
- addr:Journal记录在Journal文件中的偏移量;
- time:记录的时间戳。
该Routine返回1,说明此journal记录需要被Shadow恢复,而返回0说明此journal记录不需要被Shadow恢复。
因为这是一个自定义routine,且会被Shadow服务器恢复Journal时自动调用,因此我们可以

本文介绍了如何在不支持镜像的早期Caché版本上,利用Shadow和Dejournaling filter routine实现类似CDC(Change Data Capture)的功能。通过编写和配置Dejournaling filter routine,可以在Shadow服务器上过滤并记录数据变更。
最低0.47元/天 解锁文章
803

被折叠的 条评论
为什么被折叠?



