数据仓库(5)数仓Kimball与Inmon架构的对比
数据仓库主要有四种架构,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是将整个数据仓库规划好,统一按照范式建模进行开发。
下面是两种架构的优劣比较。
参考文章: 数据仓库(5)数仓Kimball与Inmon架构的对比
数据仓库(5)数仓Kimball与Inmon架构的对比相关推荐
- 数据仓库(4)基于维度建模的数仓KimBall架构
基于维度建模的KimBall架构,将数据仓库划分为4个不同的部分.分别是操作型源系统.ETL系统.数据展现和商业智能应用,如下图. 操作型源系统,指的就是面向用户的各类系统,如app.网站.E ...
- 数据仓库(6)数仓分层设计架构
目前主流的数据仓库分层大多为四层,也有五层的架构,这里介绍基本的四层架构. 分别为数据贴源层(ods).数据仓库明细层(dw).多维明细层(dws)和数据集市层(dm). 下面是架构图: ...
- 数据仓库(1)什么是数据仓库,数仓有什么特点
本文原链接:什么是数据仓库,数仓有什么特点 数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战 ...
- 数据仓库(二) 数仓理论(重点核心)
文章目录 数据仓库(二) 数仓理论(重点核心) 数仓分层 数据仓库分层 ODS层 DWD层 DWS层 DWT层 ADS层 数据仓库分层的好处 关系建模与维度建模 关系建模 维度建模 星型模型 雪花模型 ...
- 数据仓库(9)数仓缓慢变化维度数据的处理
数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一.缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快 ...
- 数据仓库(3)数仓建模之星型模型与维度建模
维度建模是一种将数据结构化的逻辑设计方法,也是一种广泛应用的数仓建模方式,它将客观世界划分为度量和上下文.度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称 ...
- 数据仓库(7)数仓规范设计
规范设计在这里取<大数据之路:阿里巴巴大数据实践>中的定义,这里记录一下本人对这一块自己的理解. 规范定义指以维度建模作为理论基础 构建总线矩阵,划分和定义数据域.业务过程.维度.度量 原 ...
- 数据仓库概念扫盲,kimball和Inmon两大派系在争什么?
本文,是为了让大家更好的理解大数据经典架构的补充内容,主要介绍一下数据仓库相关的内容. 数据仓库(Data Warehouse,DW):由两个主要部分构成(一个整合的决策支持数据库 + 一个收集.清洗 ...
- 【数据仓库】数仓到底要分多少层
0.前言 初学数仓的同学都喜欢问一个很有意思的问题:数据仓库到底要分几层?我一般的回答都是:你想分几层就分几层.很显然, 虽然我是很认真的在回答,但是提问题的人会感觉非常不认真.还是完完整整的阐述一下 ...
最新文章
- 原生js实现触摸滚动轮播图
- mybatis教程--查询缓存(一级缓存二级缓存和整合ehcache)
- Laravel框架与ThinkPHP一些不同点
- 二叉树查找最大最小值c语言,用C语言实现二叉排序树查找小于关键字key的最大节点的函数...
- Shell Notes(2)
- 条带装箱问题 Strip packing problem是什么
- iMX8 Android SDK 下载
- 2019裁员潮,测试被裁了能干什么?
- 美国国父乔治华盛顿首任就职演说
- 拼写检查工具是android,Android拼写检查器
- 如何使用 Windows 电脑向 Android 设备安装 apk 应用
- 给每一辆车配上“×××”,老牌安企高新兴的交通新作
- 19.flowable 任务委派
- jacob实现ppt转图片时存在的问题
- 【国家集训队】middle
- 批量压缩多文件-批处理(四)
- oca考试及ocp考试指南
- Qt QEvent 介绍
- 美团点评java开发面试问题
- Win之Software Installation:谷歌地球(Google Earth) 的简介、安装、使用方法之详细攻略