免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6432 | 回复: 5
打印 上一主题 下一主题

从管理软件角度看ETL开发 [复制链接]

论坛徽章:
4
金牛座
日期:2014-08-21 12:58:152015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之本尤德科
日期:2015-05-22 00:05:18数据库技术版块每日发帖之星
日期:2015-06-23 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-28 22:11 |只看该作者 |倒序浏览
BIDW说白了,还是个企业管理软件系统,既然是管理软件,那么越是方便管理的软件和代码,且符合软件工程原理,才是优秀的代码。

有人比较过ETL工具和人工编程的比较,其实ETL工具最大的优势就是管理,其他效率、编程速度都不见得有优势,而且有的工具熟悉的人还不是非常多,但大型项目几乎都还是放弃了人工代码而选择工具。

那么我们用ETL工具开发,能怎么最大限度用好ETL工具的管理作用呢?

个人觉得需要注意以下几点:
1. ETL需要以批量、复用为最大管理思想,忌讳对于某个具体过程单独处理某个策略,更忌讳hard coding。
2. 策略预先细分,然后将各个过程详细分类,各自归类管理,忌讳同样的策略和逻辑过于重复开发
3. 尽量在主逻辑ETL开发中少用或不用非工具手段,如存储过程、视图(除非这些数据库对象能被元数据管理工具管控起来),可以用存储过程、控制表等处理ETL策略类事务
4. 忌讳开发风格多变,比如Informatica开发的时候,一会过滤在SQL,一会在source filter过滤,统一科学的规范是管理的前提。
5. 忌讳草率测试,工具开发的软件系统相对稳定容易管理,所以一旦合格的测试通过后,软件价值要比普通手工代码大一些。测试需要符合软件工程思想,需要熟悉相关流程和ETL策略的人写test cases,而且非开发者本人,然后逐步测试,且三个环境都有检验通过,方可验收,不然有风险的代码对于工具来说风险更高,但处理好了,价值更大。

我想还有相当多的项目停留在仅仅想办法用工具去“实现”,并没有过多考虑整体和软件工程。这也是我最近老在技术论坛碰见有朋友发些奇怪的技术问题,其实这些问题在正规项目根本就不存在,是属于工具本质没认准,没用好而自己提出的“需求”。放眼整体系统,不要局限在个体过程的实现,才能有更大的突破。

论坛徽章:
0
2 [报告]
发表于 2010-03-14 22:08 |只看该作者
这个帖的内容和我目前工作中的情况太切合了
顶顶顶

论坛徽章:
0
3 [报告]
发表于 2010-03-30 15:59 |只看该作者
同上,一样一样

论坛徽章:
0
4 [报告]
发表于 2010-04-07 12:05 |只看该作者
有相当多的项目停留在仅仅想办法用工具去“实现”,并没有过多考虑整体和软件工程,同意

论坛徽章:
4
金牛座
日期:2014-08-21 12:58:152015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之本尤德科
日期:2015-05-22 00:05:18数据库技术版块每日发帖之星
日期:2015-06-23 22:20:00
5 [报告]
发表于 2010-04-07 21:16 |只看该作者
还有就是开发ETL,要实现某个功能,至少要有2种办法以选择,才能对ETL有较深刻的理解,对规范和管理也有很大的帮助。

比如要实现一个SQL里的not in的逻辑,如果使用informatica,在两个数据源在不同数据库的话,至少有2个方法,一是informatica自己的动态lookup功能,不过这个功能,如果数据量大就会有效率问题,但特点是开发方便。第二种就是先将两个数据源在工具中join,过滤为空的数据,就达到not in的逻辑了,而且这在所有工具都能使用。

论坛徽章:
0
6 [报告]
发表于 2010-09-14 14:53 |只看该作者
学习了~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP