不同数据源之间数据同步的几种实现方式
转自:http://pdi.itpub.net/post/37422/465659 ? 数据同步一般是指一个数据源的数据发生改变时,其他相关的数据源的数据也发生相应变化。数据同步可以有五种实现方案,根据具体需求不同,可以采取不同方案。 1. 触发器:在源数据库建立增、删、改触发器,每当源数据库有数据变化,相应触发器就会激活,触发器会将变更的数据保存在一个临时表里。ORCLE 的 同步 CDC (synchronized CDC) 实际上就是使用的触发器 ? 2. 日志:通过分析源数据库日志,来获得源数据库中的变化的数据。ORCLE 的 异步 CDC (Asynchronized CDC) 就是使用这种方式。 优点:基本不影响业务系统,如Oracle Asynchronized CDC 的 HotLog 方式对业务系统的性能大概降低 3% 左右,而 AutoLog 方式对业务系统几乎没有影响。 缺点: 有一定的延时 对于没有提供日志分析接口的数据源,开发的难度比较大。 3. 时间戳:在要同步的源表里有时间戳字段,每当数据发生变化,时间戳会记录发生变化的时间。 ? 4. 数据比较:通过比较两边数据源数据,来完成数据同步。一般用于实时性要求不高的场景。 ? 总结: PDI 的官方版 3.1 可以提供第 3,4,5 种解决方案,在我们改进的 PDI 中文版中提供了 ORACLE CDC 的解决方案(使用 ORACLE CDC 输入和 ORACLE CDC 输出插件完成) 目前我们正在开发 SQLServer 触发器方式 和 SQLServer CDC 方式的同步插件。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |