如题,项目需要从下属分支机构汇总其录入的数据到总部,进行数据的分析统计展示。
各处数据库结构相同。项目开发基于DotNet,使用Microsoft SQL Server 2005。
最初,考虑的方案是,基于库的schedule 和Job进行自上而下的数据抽取。方案未实施,就考虑到线路不稳定的问题,可能导致的一致性问题。
本人有个不知是缺点还是优点的习惯,就是遇到问题,有时候自行分析,有时候就是直接电话寻求帮助(也不论他人是否方便接听电话,在这里谢谢了你们了,不过我会请你们吃饭的,账先记上),听数家之言,然后再。。。。。。
No.1(飞哥):需汇总数据导出打包,在通过消息中间件进行传输,总部收到后,解包导入,同时完成相应的交互机制。根据业务需求,这里除了中间件外,首尾的都要自行开发,导出、加密、打包、解包、解密、导入。再次,经费问题,中间传输可能都需要自行开发,当然够用就行了。【参考:http://stackoverflow.com/questions/7435630/sql-server-merge-sort-of-and-tracking-updates?rq=1;】
No.2(林兄):OGG。使用Oracle Golden Gate,本人学疏才浅,第一次听说,立即查查。本人愚昧的理解,和No.1原理上差不多,只不过这里是基于数据库的日志文件及相关机制去处理的,也是”变化性“通过网络传输,在实现”同步改变”。
【参考:http://www.oracle.com/us/corporate/acquisitions/goldengate/index.html ;http://blog.csdn.net/tianlesoftware/article/details/6993103;】
No.3(林兄、健仔):CDC(Change Data Capture)。【参考:http://blog.sqlauthority.com/2009/08/15/sql-server-introduction-to-change-data-capture-cdc-in-sql-server-2008/;http://hi.baidu.com/ybgba/blog/item/988d113d7c18ddcf9e3d6201.html;http://stackoverflow.com/questions/2344138/cdc-and-etl-help-recommendations】
No.4:ETL(Extract/Transform/Load) Tools。【参考:http://stackoverflow.com/questions/1197543/etl-tools-what-do-they-do-exactly-in-laymans-terms-please?rq=1;http://stackoverflow.com/questions/3076810/which-is-better-etl-or-elt?rq=1;http://www.hudong.com/wiki/SSIS?hf=youdaocitiao&pf=youdaocitiao;http://stackoverflow.com/questions/1719348/etl-tools-and-build-tools?rq=1】
No.5:【参考:http://www.hudong.com/wiki/ODS?amp;pf=youdaocitiao&hf=youdaocitiao?hf=youdaocitiao&pf=youdaocitiao;】
【扩展参考:】
- Kettle:http://stackoverflow.com/questions/4925809/data-transformation-tools?rq=1
- Kettle:http://kettle.pentaho.com/
- http://stackoverflow.com/questions/979166/excel-upload-to-database-table?rq=1