1 2 3 4 下一页 可能在云计算、SOA架构下这种方案会逐渐消亡,但是目前还是比较实用的,本文简单介绍了常用的数据同步方案,由于正在使用高级复制的解决方案,所以重点说了Oracle的高级复制 一、常见的分布式数据解决方案 如果数据库为oracle、数据分散的分布式系统,常可以见到入下的分布解决方案 非实时,批量同步 1.ETL工具或者自己开发的接口 一般对应于特定格式的数据文件,使用FTP服务。 数据仓库或者数据集市可以使用ETL工具做数据整合,一般系统都是自己写的接口程序实现。常规思路是数据导入接口表,清洗后进入正式表 导入方式非常多,如果数据量很大可以使用sqlLoder,如果数据不大,可以逐行导入并同时清洗。就我的经验来看,将清洗逻辑放在数据库比较好。 也有可能是通过http获得的XML文件,这时需要自己定制XML的解析程序,读出CDATA节。高级程序语言这方面的功能都很强大、简单。 实时、小批量同步 1.第三方提供的 对于关键系统,可以使用中间件保证数据的安全、稳定。比如BEA的Tuxedo就不错。 2.自己开发 如果都是Unix机器可以使用socket编程,数据打成包发送,稳定性可以保证。经常是打成XML的格式,数据文件的自描述能力比较强。 这两种方案在电信等系统都可以见到,还是比较可靠的。 3.oracle自己提供的 3.1实时表接口 使用db_link和存储过程,结合job,很灵活和强大。 3.2 oracle高级复制 如果需要保证双向的实时数据同步,同时复制环节又比较复杂,存在多个复制结点,可以使用Oracle的高级复制,今年在我做的房产局项目中使用了这种方案。虽然就这个项目来说,不太适用使用这种方案,但由于历史的原因,为了一期系统的需要我们延续了这种同步方案。这篇文章主要就高级复制的过程进行说明: (责任编辑:admin) |