浅析DW2.0架构

[转帖]浅析DW2.0架构

其实我也只是前些天才开始看DW2.0的内容,事实上并不是很熟悉。在这里胡乱说了一些,全当是抛砖引玉了。

在接触DW2.0之前并没有听说有个DW1.0,个人觉得Inmon提出DW2.0是针对他以前对Data Warehouse的定义而言。Inmon对数据仓库下了定义后就一直被世界上的数据仓库建造者引用,尤其是有人竟提出了与Inmon差别非常大的数据仓库构建架构,还和他争论不休,更遗憾的是Inmon费劲力气也没能驳倒对方,这一直令Inmon耿耿于怀。而这一次Inmon变得聪明了,提出DW2.0后立刻就注册了商标。尽管如此,我还是觉得DW2.0的提的有点不太适合,数据仓库这个概念虽是Inmon提出来的,但是现在应该是归大家共有的了。所以,我觉得如果叫企业信息工厂2.0(CIF2.0)可能更适合一些。不管Inmon怎么想,我先把他的DW2.0称之为CIF2.0了。

CIF2.0的内容比较复杂,我先简单的在架构上抛块转。在CIF2.0中,整体的架构变化不大,还是由数据准备区(Staging Area),数据仓库(EDW),数据集市(DM),探索仓库(EW)等主要部件组成。

变化较大的是EDW部件,Inmon根据数据的年龄把EDW分成了四个部分,分别是交互区、整合区、近线区和归档区,四个区中数据的年龄逐渐增大。

交互区(Interactive Sector)提供即时的交易处理数据的查询功能,其中保存的数据为当前值,这部分是可以更新的,数据有可能未进行整合,保存数据的时间短,一般支持数据量较小的非统计查询。

整合区(Intergrated Sector),数据来源于操作环境和交互区,数据经过整合的,这个区域的数据是不能更新的,保存数据的时间相对交互区要长很多,可以支持数据量很大的查询。

近线区(Near Line Sector),数据来源于整合区,该区域数据被访问的可能性很小,存储数据前需要产生元数据和索引供以后访问使用。

归档区(Archival Sector),数据来源于近线区,该区域数据被访问的可能性几乎为零,需要存储十年、二十年或更长的数据,存储数据前需要产生元数据和索引供访问使用。
另外在EDW之外Inmon加了一个虚拟操作数据存储(Virtual Operational Data Store,VODS),功能是为了更灵活的处理特定的查询,增强交互区的功能。对于VODS,我只有一个模糊的概念。

下面简单的谈谈CIF2.0与CIF1.0在架构上的不同:

1.CIF1.0中的操作数据存储(ODS)在CIF2.0中被拆分为两个部分,一个是交互区,放入了EDW中,另一个是VODS,还在EDW之外,但功能和CIF1.0中的ODS有较大的不同。(需要说明一下,这里说的ODS是指在ETL之后同时支持更新和用户访问的、Inmon下过定义的ODS,不是大家常说的为了实现ETL而建立的不能访问的ODS、其实这个应该叫Staging Area,不知什么时候这个概念能够统一。)

2.在CIF1.0中,EDW是不可以更新的,数据勘误都以快照方式进行保存。在CIF2.0中,交互区可以进行数据的更新。

3.CIF2.0中的整合区相当于CIF1.0中的EDW。

4.CIF2.0中的近线区和归档区在CIF1.0中没怎么区分,称为备用存储区。估计在CIF2.0中的近线区采用廉价的磁盘存储数据,归档区使用磁带存储数据,也可能都用磁带进行存储,近线区联机,而归档区不联机。

5.CIF2.0在EDW之上还是可以建造部门级的数据集市,探索仓库等功能,和CIF1.0差别不大。

 

刘庆 20060606

如此看来,dw2.0和1.0的区别似乎主要就在于对数据的划分了?
 
其实上个月几位兄弟讨论的话题也和此有关,但之前我们多谈论应该划分成诸如ODS、DW或是CDW等。但没有深入去探究为什么将他们分开。而且还有个麻烦的地方在于,大家讨论用到的概念术语并非完全统一的,例如什么是ODS、什么是Staging Area。
 
这个2.0中对数据的划分,我认为其目的还是非常直接——按访问的频率划分。当然,在inmon那里,他可以将这种划分上升到哲学层面,所谓数据的生命周期。
 
鉴于这种强目的性的分区,我们能不能也将以前讨论分层,其每一层的目的描述出来呢?可以先抛开概念,而直接谈他们的用途。
 
例如jerome在上文中提到了Staging Area,先抛开这个术语,而给出一个目的,如:
"需要实现ETL,实现中间数据存储,但不能被最终用户访问的区域"
"需要一个能够长期保存历史数据的区域"
...
 
大家看能不能继续。

你可能感兴趣的:(【DataWarehouse】)