最近在做两个数据同步的项目。第一个数据同步项目要求一个系统向多个系统同步,有些类似于 SqlServer 订阅发布的概念,不过一个源和多个目标的数据库的结构差别很大,是不同的应用系统。第二个数据同步项目要求在两个异构数据库系统之间进行双向同步。
[@more@]对于第一个项目的需求,我们继续使用了以前开发的 kettle 数据同步插件,但因为原来的插件只支持1 to 1的同步,不支持1 to N 的同步。我 们又对这个插件做了扩展,增加了同步序号这个输入项,通过这个输入项,可以指定当前的同步是第几个同步。如下图:
第二个项目由于时间的关系,暂时没有使用 kettle 插件的方式,而是完全的手工编码完成的,实现机制也是触发器的机制,只不过需要判断, 一次数据的变更是来源于应用系统还是来源于同步工具,以避免循环触发。将来在时间允许的情况下,这个双向同步的功能也要集成到 kettle 同步插件里。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14366449/viewspace-1028537/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14366449/viewspace-1028537/