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做展现很可能会受到工具的局限。这类架构和第一类很相似,只是少了原子层上的数据集市。
总结来说,这三种数据仓库的架构方式都是不错的选择。对于需要见效快、成本低的项目可以考虑采用第二种总线架构,对于资金充足并有成熟业务数据模型的企业可以考虑采用第一种架构或第三种架构。
应用难点技巧:
文章来源于领测软件测试网 https://www.ltesting.net/