|
原帖由 wolfheat 于 2009-7-15 18:01 发表 ![]()
我想您应该属于BI实施供应商吧。我在做BI供应商的时候也是坚决拥护代码方式,因为用了工具结果就是减少我的团队收入,增加了产品采购费用。我反对用PLSQL或者其他代码方式实现ETL,主要因为当你维护一个6年7年的数据仓库后,你会发现面对海量级别的存储过程是多么的无奈。一切的项目在交付的时候是最清晰的,但是如何保证运行维护了6 7年之后文档与代码还能保持一致性,供应商开发人员变动后还能保持维护质量。SP的注释永远是对的,但是其内部产生的错误,你找一个其他人去理解作者的思路是非常困难的。
我的理解与您恰恰相反,Informatica并不是一个适合10人以上的团队,它最大的作用就是简化开发,很多地方体现出设计完成即完工的思想。一个原来需要3-5人完成的ETL模块开发项目,使用了工具我只需要1-2人配置工具。工具中的对象逆向导出的文档也能保持与实际流程的一致性。
我不是实施供应商,以前一直做内部项目的,自己开发、实施、管理、维护。在刚开始这个行业的前两年,我一直推崇使用ETL工具,鄙视那些使用SP的。informatica、oracle、microsoft的工具都用过。其中informatica给我的印象最糟糕,当时一个项目用的是8.1.1 sp4版本。功能上极其简单,比如遍历一个文件夹下面的文件,正则表达式、match & merge等等都实现不了。最郁闷的是bug一大堆,中文经常乱码,全角字符不支持。出错后看日志找错误,我靠,真想把电脑给砸了。另外,informatica的团队开发、版本控制必须连接到repository。这样对于小型团队灵活、独立的开发方式是不适合的。
后来数据库接触的多了,深入这块。发现SP在性能方面都比工具有优势。特别是做了两个海量数据的项目后(每周5~6TB的数据量),更是坚定了这种看法。尽管我还不是专业的DBA,但数据库经过优化后的ETL方案比用工具快很多。你可以去问问,移动通讯用DB2的,它们那种数据级别用的脚本,很大程度上也是因为性能的因素吧。
开发方面,SP比用工具直接、便捷。用工具拖控件,做一个mapping需要10分钟,而SP只要5分钟就搞定了。
至于维护方面,不好说。上个项目,用工具做,交接时居然还要教甲方维护人员怎么使用工具。天啊,光教他们最基本的都拖了我们一个礼拜。SP代码虽然看起来麻烦一些,但是最直接,任何IT人员都能看懂什么意思。这样后期的修改就方便一些。 |
|