DW-2种架构的区别

Kimball和Inmon是两种主流的数据仓库方法论,分别由 Ralph Kimbal大神 和 Bill Inmon大神提出,在实际数据仓库建设中,业界往往会相互借鉴使用两种开发模式。本文将详细介绍 Kimball 和 Inmon 理论在实际数据仓库建设中的应用与对比,通过数据仓库理论武装数据仓库实践。

Inmon

在这里插入图片描述

Kimball

在这里插入图片描述

这两种结构的相似之处:

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

Kimball与Inmon之间的区别

inmon是采用第三范式的格式,kimball采用了多维模型–星型模型,并且还是最低粒度的数据存储。
其次,维度数据仓库可以被分析系统直接访问(这种访问方式毕竟在分析过程中很少使用)。
最后就是数据集市的概念有逻辑上的区别,在kimball的架构中,数据集市用维度数据仓库的高亮显示的表的子集来表示。

在kimball的架构中,有一个可变通的设计,就是在ETL的过程中加入ODS层,使得ODS层中能保留第三范式的一组表来作为ETL过程的过度。但是这个思想,Kimball看来只是ETL的过程辅助而已。另外,还可以把数据集市和企业维度数据仓库分离开来,这样多一层所谓的展现层(presentationlayer),这些变通的设计都是可以接受的,只要符合企业本身分析的需求。

Kimball与Inmon之间的主要区别:

  • Kimball使用维度模型来存储数据,而Inmon只是将维度模型用于数据集市。现在从体系结构的角度来看,Kimball提出不必将数据集市与现有的维度数据仓库分开。而在Inmon的情况下,它使用从数据仓库派生的数据集市将它们与数据仓库作为单独的单元进行物理隔离。
    使用Kimball方法,重点是确定关键业务流程以及我们需要为数据仓库提供的后续业务解决方案。尽管Inmon方法相信使用公司数据模型来构建数据仓库。
    Kimball方法利用诸如星型和雪花模式之类的维度模型将数据组织为各种业务分类数据,以便快速启用业务流程。另一方面,Inmon考虑了整体公司数据需求,因此它利用了ER建模技术。
    Kimball专注于提供可以从数据仓库直接访问的分析系统。换句话说,Kimball提出了一种架构,其中分析系统可以直接使用数据仓库中的数据。在Inmon的情况下,架构的设计方式是分析系统只能通过数据集市访问数据仓库中的数据。
  • 从业务角度考虑,Kimball和Inmon的数据仓库体系结构。由于我们必须计划各种数据集市,因此Inmon体系结构需要花费一些时间来构建或实现。实施Kimball数据仓库体系结构所需的时间相对较少。由于抽象是更高级别的抽象,因此我们仅考虑使用星型或雪花模式的数据仓库设计。
    维护基于Inmon的数据仓库非常容易,因为我们可以将维护任务分解为各种数据维护活动。在基于Kimball的设计中,维护很困难,因为可能存在冗余数据,而修订则需要其他任务。
    实施基于Inmon的数据仓库可能会产生较高的初始成本,但随后的项目开发成本会较低,因为它需要较少的维护并具有适应负载变化的能力。另一方面,Kimball的初始成本较低,因为我们只需要计划数据仓库,而后续阶段的成本保持不变。基于Inmon的数据仓库体系结构需要更长的启动时间,而基于Kimball的数据仓库可以快速设置。
    当我们实现基于Inmon的数据仓库时,我们将需要一个专业团队,因为我们还需要设计数据集市。要设计数据集市,团队必须熟悉每个功能单元。另一方面,Kimball需要一个通用团队来实施。
    所涉及的资源需要知道如何使用ER建模,而无需将它们分离到各种数据集市中。我们需要与基于Inmon的数据仓库进行企业范围的数据集成。鉴于基于Kimball的数据仓库,数据集成需求侧重于各个业务领域。
    我们将探讨的最终比较是基于Inmon和Kimball的数据仓库的使用。Inmon和Kimball体系结构都需要数据源,数据分段,ETL功能和数据集市。
    需要捕获业务需求,并且它们都需要数据的时间属性以促进历史数据。尽管Inmon促进了企业数据仓库的发展,但Kimball却没有。Inmon没有涉及任何维度,因为有多个数据集市可以建模。虽然有针对Inmon的关系工具,但没有针对Kimball的工具。尽管Inmon不是面向流程的,但Kimball恰好是面向流程的,因为重点是业务流程。
    Inmon使用规范化数据模型,而Kimball更喜欢使用非规范化数据模型,因此,我们发现Kimball体系结构中存在冗余数据模型。Inmon的设计和体系结构可能很复杂,但是基于Kimball的数据仓库更易于设计和实现。
    在不连续的时间范围内继续,是的。就Inmon而言,由于我们需要不断监视数据标记。是的,请慢慢更改时间范围。就Kimball而言,由于我们必须适应变更和数据仓库级别。使用Kimball,我们可以获得一个数据仓库存储,我们需要根据业务流程在逻辑上加以利用。

实际使用

现在的普遍设计方法,互联网公司由技术主导的企业数仓,按照inmon的方式进行设计和开发,主题域建模,从源业务系统作为起点构建大而全的企业数仓。但是在集市层采取kimball的设计方法,面向分析主题进行集市开发及olap cube开发,做多维结构的数据集市。这样的好处是,作为业务分析人员,多维模型更容易理解也更易于使用(关联少、逻辑简单)。对于技术部门,按照inmon方式设计企业数仓,也不需要做过多的需求调研便可以开展,更适合技术人员的思路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值