- 论坛徽章:
- 4
|
原帖由 raullew 于 2006-5-10 18:25 发表
你说的中间过度层是指什么?
我们都是平面文件ETL到db里面的
imhoff是个搞crm和bi咨询的
她写了本书,主要是把Inmon的关系方法和Kimball的维表方法结合起来
看来她没有做过架构, 但对业务模型非常熟悉.
我做过1年的数据源自CRM的大型项目,普通制造业的CRM到数据仓库的业务模型其实不是很复杂,只是目前制造业目前不象电信行业那样有比较统一的规范,而是不同客户有一套自己的规范,这点很需要经验.
所谓中间层,就是你把文件倒入DB后, 并不能一步就把数据转换到理想的模型中去,而是通过中间1到多步中间层逐一实现.因为分析模型中,业务的需求是复杂的,多变的,你的模型必须包含足够多的信息,并且能适应客户反复多变的需求,一步到位的ETL,我刚入门时就做过.后果就是:客户需求一变化,后台表结构要变化,模型可能也要变化,需要增加表,甚至出现数据误差,你还得到处核对数据,看哪里出问题了.这是比较原始的,纯靠类似数据集市来支撑的系统,根本不能适应现代多变,业务需求暴增,数据量越来越大的严峻形式.
增加中间层后,他就类似软件中的中间件,主要ETL工作在中间层中完成,在他和原始数据之中加入Kimball经常使用的代理键作为连接原始数据的桥梁,中间层完成后,就把数据倒入我们理想的数据集市模型中去.所以中间层是至关重要的,这个和软件工程极为相似,它可以因为数据量大而把数据根据数据库的特点分区\分表灵活处理,大大加快ETL效率,也可以灵活增加字段,增加潜在业务的信息,这样不需要前端工具去完成.前端工具就类似于我们软件工程的展现层,如果把很多业务处理拿到展现层处理,效率和扩展性会非常糟糕.
这些设计必须要通晓数据仓库的架构设计和模型才能得出. 否则只好按照原始方法,建一个模型后,想办法把数据ETL到模型里了事,至于那样如何确保效率和扩展性,可能设计者自己也不太清楚. |
|