数据仓库主要有四种架构,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架构的对比相关推荐

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

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

  2. 数据仓库(6)数仓分层设计架构

      目前主流的数据仓库分层大多为四层,也有五层的架构,这里介绍基本的四层架构. 分别为数据贴源层(ods).数据仓库明细层(dw).多维明细层(dws)和数据集市层(dm).   下面是架构图:    ...

  3. 数据仓库(1)什么是数据仓库,数仓有什么特点

      本文原链接:什么是数据仓库,数仓有什么特点   数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战 ...

  4. 数据仓库(二) 数仓理论(重点核心)

    文章目录 数据仓库(二) 数仓理论(重点核心) 数仓分层 数据仓库分层 ODS层 DWD层 DWS层 DWT层 ADS层 数据仓库分层的好处 关系建模与维度建模 关系建模 维度建模 星型模型 雪花模型 ...

  5. 数据仓库(9)数仓缓慢变化维度数据的处理

      数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一.缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快 ...

  6. 数据仓库(3)数仓建模之星型模型与维度建模

      维度建模是一种将数据结构化的逻辑设计方法,也是一种广泛应用的数仓建模方式,它将客观世界划分为度量和上下文.度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称 ...

  7. 数据仓库(7)数仓规范设计

    规范设计在这里取<大数据之路:阿里巴巴大数据实践>中的定义,这里记录一下本人对这一块自己的理解. 规范定义指以维度建模作为理论基础 构建总线矩阵,划分和定义数据域.业务过程.维度.度量 原 ...

  8. 数据仓库概念扫盲,kimball和Inmon两大派系在争什么?

    本文,是为了让大家更好的理解大数据经典架构的补充内容,主要介绍一下数据仓库相关的内容. 数据仓库(Data Warehouse,DW):由两个主要部分构成(一个整合的决策支持数据库 + 一个收集.清洗 ...

  9. 【数据仓库】数仓到底要分多少层

    0.前言 初学数仓的同学都喜欢问一个很有意思的问题:数据仓库到底要分几层?我一般的回答都是:你想分几层就分几层.很显然, 虽然我是很认真的在回答,但是提问题的人会感觉非常不认真.还是完完整整的阐述一下 ...

最新文章

  1. 原生js实现触摸滚动轮播图
  2. mybatis教程--查询缓存(一级缓存二级缓存和整合ehcache)
  3. Laravel框架与ThinkPHP一些不同点
  4. 二叉树查找最大最小值c语言,用C语言实现二叉排序树查找小于关键字key的最大节点的函数...
  5. Shell Notes(2)
  6. 条带装箱问题 Strip packing problem是什么
  7. iMX8 Android SDK 下载
  8. 2019裁员潮,测试被裁了能干什么?
  9. 美国国父乔治华盛顿首任就职演说
  10. 拼写检查工具是android,Android拼写检查器
  11. 如何使用 Windows 电脑向 Android 设备安装 apk 应用
  12. 给每一辆车配上“×××”,老牌安企高新兴的交通新作
  13. 19.flowable 任务委派
  14. jacob实现ppt转图片时存在的问题
  15. 【国家集训队】middle
  16. 批量压缩多文件-批处理(四)
  17. oca考试及ocp考试指南
  18. Qt QEvent 介绍
  19. 美团点评java开发面试问题
  20. Win之Software Installation:谷歌地球(Google Earth) 的简介、安装、使用方法之详细攻略

热门文章

  1. 2018 蓝桥杯省赛 B 组模拟赛(一)
  2. 解决Ubuntu系统关机时间过长
  3. 22年春福师《大学英语(2)》在线作业一-6
  4. Anchor DETR
  5. cocos-js 移花接木-用旧资源替换新创建的项目
  6. Unity 插件之 Vuforia 高通AR识别插件
  7. PMP机构哪家强?到底该怎么选?有无机构对比?以上问题看这里!!!
  8. 短信行业应用的十六种方式
  9. linux grub 引导日志,Linux系统--Linux的Grub应用
  10. 索尼大法好,那索尼的VR好不好呢?