数据仓库次要有四种架构,Kimball的DW/BI架构、独立数据集市架构、辐射状企业信息工厂Inmon架构、混合Inmon与Kimball架构。不过不论是那种架构,基本上都会应用到维度建模。

Kimball的DW/BI架构,能够参考这篇文章 数据仓库(4)基于维度建模的KimBall架构。

独立数据集市架构,采纳这种架构的数据仓库,数据以部门为根底来部署,不思考企业级别的信息共享和集成。也就是各个部门各自依照须要,各自在数据源同步数据,依照各自的规范,对数据进行解决。这种实际上就是没有架构,会造成剖析数据的冗余存储,计算资源的节约,会导致每一个统计部门统计口径的不对立,也就会导致因为数据口径不统一导致长时间的对数据。

辐射状企业信息工厂Inmon架构,数据从操作型数据源中获取,在ETL中进行解决,取得的原子数据保留在满足第三范式的数据库中,这种规范化,原子数据的仓库就是企业信息工厂Inmon架构。Inmon架构与Kimball架构的差异之一就是,Inmon的数据仓库是规范化的,而Kimball架构是基于维度建模的星型模型。

混合Inmon与Kimball架构,这种就是将Kimball与Inmon两种架构进行嫁接,抽取过去的数据,寄存在规范化的数据仓库中,而后在这个的根底之上抽取基于维度建模的数据展示,开发给数据分析人员等。

在经典的实践认为,混合Inmon与Kimball架构是最好的形式。这种办法能够将数据规范化,而后通过维度建模,以一种比较简单的形式开发给剖析人员。然而这种形式适宜比拟传统的行业,或者政府单位,这种业务发展缓慢的模式,如果是互联网企业,特地是守业型团队,业务还在疾速的迭代中,应用维度建模须要破费很长的后期筹备工作,而且扩展性不好,应用Kimball维度建模是比拟适合的。

Kimball 模式从流程上看是是自底向上的,即从数据集市到数据仓库再到数据源(先有数据集市再有数据仓库)的一种麻利开发方法。对于Kimball模式,数据源每每是给定的若干个数据库表,数据较为稳固可是数据之间的关联关系比较复杂,须要从这些OLTP中产生的事务型数据结构抽取出剖析型数据结构,再放入数据集市中不便下一步的BI与决策反对。所以KimBall是依据需要来确定须要开发ETL哪些数据。

Inmon 模式从流程上看是自顶向下的,即从数据源到数据仓库再到数据集市的(先有数据仓库再有数据市场)一种瀑布流开发方法。对于Inmon模式,数据源每每是异构的,好比从自行定义的爬虫数据就是较为典型的一种,数据源是依据最终目标自行定制的。这里次要的数据处理工做集中在对异构数据的荡涤,包含数据类型测验,数据值范畴测验以及其余一些简单规定。在这种场景下,数据没法从stage层间接输入到dm层,必须先通过ETL将数据的格局荡涤后放入dw层,再从dw层抉择须要的数据组合输入到dm层。在Inmon模式中,并不强调事实表和维度表的概念,因为数据源变动的可能性较大,须要更加强调数据的荡涤工做,从中抽取实体-关系。immon是将整个数据仓库布局好,对立依照范式建模进行开发

上面是两种架构的优劣比拟。