inmon和kimball数仓区别
引言
在数据仓库领域,有两本巨著如雷贯耳《数据仓库》和《数仓工具箱》,影响了进20年商业智能的数仓发展,这两本巨著分别出自“数据仓库”之父 Bill Inmon和数据仓库权威专家 Ralph Kimball,所采用的建模方法也分别为范式建模和维度建模。
虽然两本巨著都是经典,但是当我们去阅读时,想必是一脸懵逼的,同时问下自己:两套数仓建设体系的核心区别是什么?反正我是答不上来。为了梳理区别,本人重新翻阅了这两本书,以及网上一些相关资料,尝试以自己的理解来回答。
inmon和kimball的区别
架构区别
Kimball 建模的流程为:从需求到模型,从模型到数据。从上到下的一个过程,也叫数据集市总线架构( Data Mart Bus Architecture )或者数据仓库总线架构 (DataWarehouse Bus Architecture)。
在大型BI项目中,数仓通常也会采用Inmon 的建模方式,从数据到模型再到需求,这样的自下往上的建设路线。也有叫集线器架构 (Huband Spoke) 或者企业信息工程架构 (CIF:CorporateInformation Factory)。
两者的架构区别如数仓建模——Inmon与Kimball的融合建模方法论一文中下图所示:
模型区别
inmon ER模型
在Inmon的ER模型中,将模型分为三个层次:高层模型(称为实体关系,或ERD),中间层建模(称为数据项集或DIS),底层建模(称为物理模型)。
高层模型以实体和关系为特征,实体处于最高抽象层,由集成范围
这个术语表示的内容决定哪些实体术语模型范围而哪些不属于。我的理解,这些的高层模型的实体,就类似于主题域的划分,只不过多了关系。
中间模型为高层模型的主题扩展,简单来说,就是将高层模型中的实体和关系,进一步细化,即类似于使用具体的表的ER管理来表示高层模型中的单一主题。
中层模型中使用主要数据分组,二级数据分组,连接器,数据的“类型”来表示模型。
物理模型就是物理表,重中间层数据模型创建而来,通过扩展中间模型,使得模型中包含有关键字和物理特性,主要是从性能优化系数等角度,如数据粒度、分区,饭规范化冗余、访问数据频率(热点数据)分离等。
至此,Inmon的建模方法就介绍完毕了,所谓的ER,其实值的是在高层的主题域模型和中层的ER模型时对于关系抽象的方式,采用ER进行思考,其实在最终的物理层面,ER模型展现出来的效果和雪花是类似的,而且inmon的模型也是包含反规范化操作的,所以在个别场景下最终呈现也会和星型模型类似。
kimball维度模型
说完了inmon的模型,再来说下kimball的维度建模,在kimball模型中,针对模型的讲解是分散的,个人认为,kimball的模型即以维度表和事实表为抽象,一致性维度设计和使用为核心,以星型模型为具体实现,通过收集业务需求,设计总线矩阵来确保一致性维度,最后通过选择业务过程、申明粒度、确认维度、确认事实来进行模型的创建。
总结
inmonER建模和kimball的维度建模,从最终的模型表上看,两者是差不多的,这也是为什么从网上搜索,虽然区别说了一大堆,但是在举例的时候,看着都差不多没有区别,一定要说区别的话,可能就是强行让ER建模不进行维度退化饭规范化操作。
两者区别主要是理念和过程的不同,就像从需求到达终点,两位大师做了两种不同的交通工具和路线,但是结果是类似的,最终殊途同归。
首先,inmon的ER建模是从数据到需求,即你需要先行了解当前的业务系统有什么数据,是怎么使用,然后将数据通过主题域进行分类,最后将分类后的数据进行整合,形成数据仓库;而kimball的维度建模是从需求到数据,即你需要先了解当前的业务系统有什么需求,然后将需求进行分类,通过总线矩阵进行整合,形成数据仓库。
在现实中,你很难说你的数仓是纯粹的inmonER建模或kimball的维度建模,一般为两者模型的融合,即都使用了。在业务分析和模型设计时,采用的总线矩阵和事实维度;在模型关系表达和主题域划分时,则是展现了inmon的ER模型思想。
其他知识
数仓架构有几种?
在哪种数据仓库架构最成功? Bill Inmon 或 Ralph Kimball ?一文中,提到了如下调查
2005年,Thilini Ariyachandra 与Hugh Watson针对DW架构做了一个深入的调查,调查题目为“哪种数据仓库最成功?”,受访者由454位曾在各种不同规模的企业(绝大多数是美国企业)中参与了DW规划与实施的人员组成,受访者根据DW应用实际情况及经验体会做出回答。
为了合理设计调查问卷,在调查问卷中合理设置调查对象(参与调查的DW架构)和评判标准(影响DW架构选择的因素及判断DW架构成功的因素等)等内容,Watson和Ariyachandra邀请了20位专家组成专家组设计调查问卷及判断标准等,这20位专家包括了DW领域的两位先驱——赫赫有名的Bill Inmon和Ralph Kimball。因此我们可以认为这份调查的结果是权威可信的。
在这份调查中,列举的5个数仓架构如下图所示:
即
- Independent data marts architecture
- data mart bus architecture with dimensional data marts
- hub and spoke architecture(corporate information factory)
- centralized data warehouse architecture
- federated architecture
结语
无
参考资料
- building-the-data-warehouse-in-microsoft-sql-server-2005
- The Data Warehouse Toolkit: The Definitive Guide to DSS 2005
- 深入对比数据仓库模式:Kimball vs Inmon
- 通俗易懂数仓建模—Inmon 范式建模与 Kimball 维度建模
- 数据仓库 Inmon与Kimball数仓理论对比
- 哪种数据仓库架构最成功? Bill Inmon 或 Ralph Kimball ?
- 数仓建模——Inmon与Kimball的融合建模方法论