数据仓库架构

对于数据仓库的架构方法,不同的架构师有不同的原则和方法,笔者在这里来总结一下当前常采用的架构方式及其优缺点。这些架构方式不限于某个行业,可以供各个行业借鉴使用。
首先需要说明的一点是,目前在数据仓库领域比较一致的意见是在数据仓库中需要保留企业范围内一致的原子层数据。而独立的数据集市架构(Independent data marts)没有企业范围内一致的数据,很可能会导致信息孤岛的产生,除非在很小的企业内或只针对固定主题,否则不建议建立这样的架构方式。联邦式的数据仓库架构(Federated Data Warehouse Architecture)不管是在地域上的联邦还是功能上的联邦都需要先在不同平台上建立各自的数据仓库,再通过参考(reference)数据来实现整合,而这样很容易造成整合的不彻底,除非联邦式的数据仓库架构也采用Kimball的总线架构(Bus Architecture)中类似的功能,即在数据准备区保留一致性维度(Conformed Table)并不断更新它。所以,这两种架构方式不在讨论范围之内。下面主要讨论剩下的三种架构方式。
1)三范式(3NF)的原子层+数据集市
这样的数据仓库架构最大的倡导者就是数据仓库之父Inmon,而他的企业信息工厂(Corporate Information System)就是典型的代表。这样的架构也称之为企业数据仓库(Enterprise Data Warehouse,EDW)。企业信息工厂的实现方式是,首先进行全企业的数据整合,建立企业信息模型,即EDW。对于各种分析需求再建立相应的数据集市或者探索仓库,其数据来源于EDW。三范式的原子层给建立OLAP带来一定的复杂性,但是对于建立更复杂的应用,如挖掘仓库、探索仓库提供了更好的支持。这类架构的建设周期比较长,相应的成本也比较高。
2)星型结构(Star Schema)的原子层+HOLAP
星型结构最大的倡导者是Kimall,他的总线架构是该类架构的典型代表。总线架构实现方式是,首先在数据准备区中建立一致性维度、建立一致性事实的计算方法;其次在一致性维度、一致性事实的基础上逐步建立数据集市。每次增加数据集市,都会在数据准备区整合一致性维度,并将整合好的一致性维度同步更新到所有的数据集市。这样,建立的所有数据集市合在一起就是一个整合好的数据仓库。正是因为总线架构这个可以逐步建立的特点,它的开发周期比其他架构方式的开发周期要短,相应的成本也要低。在星型结构的原子层上可以直接建立聚集,也可以建立HOLAP。笔者比较倾向于Kimball的星型结构的原子层架构,在这种架构中的经验也比较多。
3)三范式(3NF)的原子层+ROLAP
这样的数据仓库架构也称为集中式架构(Centralized Architecture),思路是在三范式的原子层上直接建立ROLAP,做的比较出色的就是MicroStrategy。在三范式的原子层上定义 ROLAP比在星型结构的原子层上定义ROLAP要复杂很多。采用这种架构需要在定义ROLAP是多下些功夫,而且ROLAP的元数据不一定是通用的格式,所以对ROLAP做展现很可能会受到工具的局限。这类架构和第一类很相似,只是少了原子层上的数据集市。
总结来说,这三种数据仓库的架构方式都是不错的选择。对于需要见效快、成本低的项目可以考虑采用第二种总线架构,对于资金充足并有成熟业务数据模型的企业可以考虑采用第一种架构或第三种架构。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值