微软BI开拓者

首页 » 数据仓库专区 » ETCL设计 » 关于数据仓库架构和ETL系统设计
andrewknight - 2007-8-4 15:01:00
之前用ETL完全是工作需要(非BI),
今天开始看Data Warehourse ETL Toolkit,印象最深的两句话:
1、We expand the traditional ETL steps of
extract, transform, and load into the more actionable steps of extract, clean,
conform, and deliver
2、There were two
distinct roles: data warehouse architect and ETL system designer. But these
two roles often were filled by the same person!
要对ETL有更高要求了 :D
Daiziliang - 2007-8-4 20:02:00
是这样的.ETL在整个BI架构中占有相当重要的位置.因为:

1 底层的数据处理显得极为重要,这里的一点闪失会造成后面CUBE和报表挖掘等的错误
2 工作量大,在整个架构中都有ETL的身影,ETL的转换是复杂的,不止要了解表与表之间的关系,还要有扎实的SQL知识,在一个源系统中可能包含200张业务表,这样的系统或许有多个,还有其他的数据源,例如最常见的企业历史报表-EXCEL等,在建立数据仓库时都要加入.
3 系统设计包含着设计思想,思想是最关键的,而不是具体工具的使用.好的架构会让系统更加稳定,在扩展性和数据量加大陆续更新数据仓库等方面都会体现设计思想.

  ETL是重要的,有时针对不同的数据源,例如网络日志,将使用程序实现,提取关键词等,清洗程序更加复杂,可以叫为ETCL,有了底层的架构思想,上面的实现将变的极为容易,支持更广泛的ETL架构讨论.
   
  以前写过2篇文章,http://blog.csdn.net/Daiziliang,可以通过几步马上建立起简单的数据仓库,那么如果需求增多,源系统更加复杂,格式多样,ODS出现,数据转换更加繁杂,这在各行业和各中应用中是极为常见的,那么我们还要做哪些工作呢?
andrewknight - 2007-8-5 0:18:00


引用:
原帖由 Daiziliang 于 2007-8-4 20:02:00 发表
是这样的.ETL在整个BI架构中占有相当重要的位置.因为:

1 底层的数据处理显得极为重要,这里的一点闪失会造成后面CUBE和报表挖掘等的错误
2 工作量大,在整个架构中都有ETL的身影,ETL的转......


总结精辟,经验之谈,学习收藏了,多谢!
关于提问,回答:
尽可能的优化ETL;考虑建立实时ETL系统用于支持实时BI
对于建立实时的ETL系统,我觉得采取何种方式是一个最大的问题
一定要最小化对系统和网络的影响
请指教
Daiziliang - 2007-8-5 11:55:00
问的好!
实时BI是个发展趋势,SQL Server 2005中也加入了实时BI,在SSIS,SSAS中都可以设置,对这方面的支持很强,另外,数据仓库的周期调度也可以考虑实时BI,加入ODS的目的也是考虑到用户会有实时性要求.这是一个趋势,同时也是进一步深入研究的领域,可以更进一步讨论,以前在做实时性的时候,我是在数据库中做的,具体处理方法是这样的:历史数据使用调度,预先汇总,例如每天调度,汇总到历史表中去,基于当天数据,存放于当天表中,实时数据从这里查取,然后第2天清空,继续导入新的数据,以前的一个项目架构我是这么设计的,不过这里使用的还是2维表,那么在增量加载CUBE时,使用实时调度,可以精确到分钟,不过这样的问题是对硬件资源要求高,系统开销巨大,也容易丢失数据,所以实时性是一个很高的要求,只能近乎逼近,不能完全实时.各位有更好的方法吗?
高处不胜寒 - 2007-8-16 14:18:00
实时BI是个发展趋势,该想法是挺不错,但实现起来应当难度重重,脑海中虽然曾闪过该念头,但没具体想过,鑫磊老大有没有好的想法体系分享下...?
Jade - 2007-8-27 12:32:00
个人认为,实时性最高的一种方案是业务系统主动发送更新
The - 2007-8-27 12:57:00


引用:
原帖由 Jade 于 2007-8-27 12:32:00 发表
个人认为,实时性最高的一种方案是业务系统主动发送更新


极限了
suntt - 2007-8-27 15:20:00
鑫磊说的很精辟呀!
一笑不倾城 - 2007-10-10 17:17:00
大家都在谈实时,到底怎么个实时法?
今天更新昨天业务系统更新的数据,算不算实时?
当天不同时段更新业务系统更新的数据,算不算实时?
或者是否能够做到像触发器一样,只要业务系统有变更,我们的BI系统就立刻更新,是否这才是实时?

大家说的是哪种呢?
Daiziliang - 2007-10-13 11:29:00
实时是针对业务系统来说的,即业务系统数据发生变化,要体现在BI系统中,你说的触发器能做到实时,前二个都做不到,不过考虑到触发器的性能问题,在数据仓库中近百万级别的大表中使用触发器是不明智的,所以还想别的办法,以前那个项目解决的实时性问题,是使用了触发器,不过是将源系统数据原封不动抽取过来,下面的处理过程使用的还是ETL的调度策略.
LambertT - 2007-12-10 11:33:00
实时BI什么时候需要呢?我想,在提出这个概念之前,应该考虑这个问题。

通常只有需要实时监控某些事务的状态,才会需要所谓的实时BI,譬如 Call Center里的TL 或 Manager, 甚至Manager 都不需要,Manager 只需要了解周或者月的状态。

通常,TL需要得到天一层次的数据,在于他的工作职责更倾向于在这个时间层次对事务做出反应,他更关心的是每个人每个小时的工作状态,进而在Report的层面需要天一层次的支持。如果一个Manager也去看天一层次的Report,那他就失去了从更高层次了解和执行自己职责的机会了。

从这方面讲,如何考虑实时BI可能更容易让人接受。
fengglory - 2008-1-16 17:13:00
我很赞同LambertT 说法,如果站在技术角度上来看实时BI的话,是比较困难的,但站在业务角度上来看,实时BI应该能很好的解决!
水草园主 - 2008-1-22 17:18:00
嗯.说的很好,感觉非常的精辟.
不过相信技术也会不断的进步的..
lanxing2210 - 2008-7-30 16:11:00
“实时性是一个很高的要求,只能近乎逼近,不能完全实时”

  实时对数据的完整性,系统的稳定性,硬件的要求都非常的高~
daijun - 2008-10-23 15:32:00


引用:
原帖由 Jade 于 2007-8-27 12:32:00 发表
个人认为,实时性最高的一种方案是业务系统主动发送更新


但还要松散耦合
1
查看完整版本: 关于数据仓库架构和ETL系统设计