文章目录

  • 一、Inmon 架构
  • 二、Kimball 架构
  • 三、Inmon vs Kimball
  • 三、独立数据集市
  • 五、总结
  • 关注我的公众号【宝哥大数据】,更多干货

对于数据仓库体系结构的最佳问题,始终存在许多不同的看法,甚至有人把 Inmon 和 Kimball 之争称之为数据仓库界的“宗教战争”,那么本文就通过对两位提倡的数据仓库体系和市场流行的另一种体系做简单描述和比较,不是为了下定义那个好,那个不好,而是让初学者更明白两位数据仓库鼻祖对数据仓库体系的见解而已。

一、Inmon 架构

2000年5月,W.H.Inmon在DM Review杂志上发表一篇文章,里面写到一句话“……如果明天非得设计一个数据集市,我将不考虑使用其他的方法”;正是揭示了他的企业信息化工厂的特点。下图是关于他的企业信息化工厂的架构图:

我们理解一下这个体系架构,左边是操作型系统或者事务系统,里面包括很多种系统,有数据库在线系统,有文本文件系统…等等。而这些系统的数据经过ETL的过程,加载数据到企业数据仓库中,ETL的过程是整合不同系统的数据,经过整合,清洗和统一,因此我们可以称之为数据集成。

企业数据仓库是企业信息化工厂的枢纽,是原子数据的集成仓库,但是由于企业数据仓库不是多维格式,因此不适合分析型应用程序,BI工具直接查询。他的目的是将附加的数据存储用于各种分析型系统。

数据集市,是针对不同的主题区域,从企业数据仓库中获取的信息,转换成多维格式,然后通过不同手段的聚集、计算,最后提供最终用户分析使用,因此Inmon把信息从企业数据仓库移动到数据集市的过程描述为“数据交付”。

二、Kimball 架构

Kimball的维度数据仓库是基于维度模型建立的企业级数据仓库,它的架构有的时候可以称之为“总线体系结构”,和inmon提出的企业信息化工厂有很多相似之处,都是考虑原子数据的集成仓库;我们来根据下面的架构来分析他的观点:


当然有的时候,在 kimball 的架构中,有一个可变通的设计,就是在 ETL 的过程中加入 ODS 层,使得 ODS 层中能保留第三范式的一组表来作为 ETL 过程的过渡。但是这个思想,Kimball看来只是ETL的过程辅助而已。

另外,还可以把数据集市和企业维度数据仓库分离开来,这样多一层所谓的展现层(presentation layer),这些变通的设计都是可以接受的,只要符合企业本身分析的需求。

三、Inmon vs Kimball

虽然初看两个图有很多不一样的地方,但是这两种结构有很多相似之处:

  • 一,都是假设操作型系统和分析型系统是分离的;
  • 二,数据源(操作型系统)都是众多;
  • 三,ETL 整合了多种操作型系统的信息,集中到一个企业数据仓库。

当然如果去区别他们的不同:

  • 最大的不同就是企业数据仓库的模式不同

    • inmon是采用第三范式的格式,
    • 而kimball则采用了多维模型–星型模型,并且还是最低粒度的数据存储。
  • 其次是,维度数据仓库可以被分析系统直接访问,当然这种访问方式毕竟在分析过程中很少使用。
  • 最后就是数据集市的概念有逻辑上的区别
    • 在kimball的架构中,数据集市由维度数据仓库的高亮显示的表的子集来表示。
对照项 Kimball Inmon
实施时间 相对较少。 这是一个相当复杂的方法;实施需要相当长的时间。
维护困难程度 很困难。 很容易。
维护成本 初始成本较低,因为我们只需要规划数据仓库,并且后续阶段的成本保持不变。 会产生很高的初始成本,但后续的项目开发成本较低。
创建时间 快速建立 更长的启动时间。
维护团队要求 需要一个通才团队来实施。 需要一个专家团队。
数据集成 基于 Kimball 的数据仓库,数据集成需求集中在单个业务领域。 我们需要与基于 Inmon 的数据仓库进行企业范围的数据集成。
它遵循自下而上方法。 它遵循自上而下的方法。

三、独立数据集市

最后一种是独立型数据集市,来自市场的实施过程被广泛使用,下面是独立型数据集市的架构:特点是非常简单,容易实现,而且实施时间段。但是最大的问题是,由于快速的实施,廉价的过程,导致长期费用的提供和效率的低下。

开发一个独立的数据集市是获得可见结果的最有效的方法,因为不需要做跨部门,跨功能的分析,并且数据集市可以很快投入到生产中,因此能够迅速和廉价地获得结果,所以很多机构应用这种方法。而且很多 ERP 集成商的系统中也自带了类似的功能作为一个卖点来吸引客户。虽然它有很多优点,但是最致命的缺点,短期的成功却带来长期的棘手问题。特别是独立型数据集市支持多主题区域时,会导致多个部门数据不一致,就是数据打架的现象。并且使得各个数据集市成为信息孤岛,缺乏兼容性。因此这种方案很多时候是不可接受的。

五、总结

做产品的都是 Kimball 和 Inmon 的兼容,做外包的都是 独立数据集市 急速上线!!!

关注我的公众号【宝哥大数据】,更多干货

数据仓库Inmon和Kimball架构相关推荐

  1. 数据仓库中的Inmon与Kimball架构之争

    对于数据仓库体系结构的最佳问题,始终存在许多不同的看法,甚至有人把Inmon和Kimball之争称之为数据仓库界的"宗教战争",那么本文就通过对两位提倡的数据仓库体系和市场流行的另 ...

  2. 数据仓库中的Inmon与Kimball架构

    对于数据仓库体系结构的最佳问题,始终存在许多不同的看法,甚至有人把Inmon和Kimball之争称之为数据仓库界的"宗教战争",那么本文就通过对两位提倡的数据仓库体系和市场流行的另 ...

  3. 数据仓库 Inmon与Kimball数仓理论对比

    Kimball和Inmon是两种主流的数据仓库方法论,分别由 Ralph Kimbal大神 和 Bill Inmon大神提出,在实际数据仓库建设中,业界往往会相互借鉴使用两种开发模式 Inmon和Ki ...

  4. C. 数据仓库 --- Kimball架构

    C. 数据仓库 - Kimball架构 Kimball关键性概念 总线架构:多维体系结构主要包括后台(Back Room)和前台(Front Room)两部分. 后台也称为数据准备区(Staging ...

  5. 0037-数据集市,Inmon架构及Kimball架构

    在数据仓库持续演进的过程中,逐渐产生了不少的架构方法,主要有Inmon架构,Kimball架构,数据集市架构及混合架构等. 一 数据集市 先说说数据集市吧,数据集市也不是之前单独按照每个部门去搭建的, ...

  6. Kimball架构与Inmon架构

    Inmon架构的思想在于自上而下的构建数据模型.以数据源头开始,数据以瀑布流式的向下流动,更加注重数据清洗.其核心思想在于数仓分层.(换言之就是,尽量将某一主题域的所有数据都考虑到数据建模中.这样设计 ...

  7. 【数据仓库】Inmon与Kimball数仓理论对比

    Inmon和Kimball是数据仓库领域伟大的开拓者,他们均多年从事数据仓库的研究,Inmon还被称为"数据仓库之父".Inmon的<数据仓库>和Kimball的< ...

  8. 数据仓库(4)基于维度建模的数仓KimBall架构

      基于维度建模的KimBall架构,将数据仓库划分为4个不同的部分.分别是操作型源系统.ETL系统.数据展现和商业智能应用,如下图.   操作型源系统,指的就是面向用户的各类系统,如app.网站.E ...

  9. 数据建模理论小结:Inmon和Kimball

    看了这么多数仓模型的对比文章,我想把我总结的一些东西记录下来. 说到数仓建模,那么肯定离不开两种方式:范式建模(Inmon)和维度建模(kim ball).这两种方式各有适用的地方,需要根据具体应用场 ...

最新文章

  1. ASP.NET Web API之消息[拦截]处理(转)
  2. [POJ 1742] Coins 【DP】
  3. java删除集合元素吗_java如何删除集合中的元素
  4. (python)7-4 sdut-oop-1 简单的复数运算 (10 分)
  5. Python中print函数的使用
  6. 012、JVM实战总结:案例实战:每日百万交易的支付系统,JVM栈内存与永久代大小又该如何设置?
  7. 火山引擎张鑫解读云原生2021:K8s 开先河、技能全栈、业务“无感”
  8. 持续交付——不仅仅是技术
  9. 在线UML图设计 用例图 在线制图
  10. Linux----Ubuntu系统官网下载iso镜像文件
  11. SQL语法——触发器
  12. 【AAAI2022】FDIWN - Feature Distillation Interaction Weighting Network for Lightweight Image SR
  13. hao123首页源码 html,html css应用高仿hao123网站
  14. BI分析工具软件有哪些
  15. 分数化成有限小数的方法_怎样把分数化成小数
  16. 我爷爷来了都能看懂的数据库主键,候选键,外键,非空和check的几种约束方式及使用方法
  17. 无法启动此程序,因为计算机中丢失vcruntime140.dll”的解决方法
  18. html文字段落设置,css中怎么设置段落样式?
  19. Python切割图集
  20. BZOJ 2757: [SCOI2012]Blinker的仰慕者 数位DP

热门文章

  1. python 除法向下取整、向上取整
  2. linux 安装oracle
  3. 【自动写代码】Quokka.js是一款通过注释实时生成代码的插件,该插件安装在vscode工具上面,但是需要激活才能使用
  4. Fartlek跑-间歇跑
  5. Webgl 练习记录 log 贴图 滤镜
  6. 基本图算法时间复杂度
  7. 使用Python+Qt5 制作带UI界面的多线程配爬取小程序
  8. linux php pear 安装,linux php安装pear
  9. 如何在ThinkPHP下用缓存做每日访问量统计
  10. 温格:我的转会策略与埃米尔球场息息相关