目录

写在前面

一、为什么要进行数据仓库建模?

二、四种常见模型

2.1 维度模型

2.1.1 星型模型

2.1.2 雪花模型

2.1.3 星座模型

2.2 范式模型

2.3 Data Vault模型

2.4 Anchor模型

三 数据模型的评价标准

小编有话


写在前面

大数据时代,维度建模已成为各大厂的主流方式。

维度建模从分析决策的需求出发构建模型,为分析需求服务。重点关注用户如何快速的完成数据分析,可以直观的反应业务模型中的业务问题,需要大量的数据预处理、数据冗余,有较好的大规模复杂查询的响应性能。

系列文章详见「数仓系列文章- 传送门」

一、为什么要进行数据仓库建模?

  • 性能:良好的模型能帮我们快速查询需要的数据,减少数据的IO吞吐
  • 成本:减少数据冗余、计算结果复用、从而降低存储和计算成本
  • 效率:改善用户使用数据的体验,提高使用数据的效率
  • 改善统计口径的不一致性,减少数据计算错误的可能性

二、四种常见模型

2.1 维度模型

维度建模按数据组织类型划分可分为星型模型、雪花模型、星座模型。

Kimball老爷爷维度建模四个步骤:

选择业务处理过程 > 定义粒度 > 选择维度 > 确定事实

2.1.1 星型模型

星型模型主要是维表和事实表,以事实表为中心,所有维度直接关联在事实表上,呈星型分布。

2.1.2 雪花模型

雪花模型,在星型模型的基础上,维度表上又关联了其他维度表。这种模型维护成本高,性能方面也较差,所以一般不建议使用。尤其是基于hadoop体系构建数仓,减少join就是减少shuffle,性能差距会很大。

星型模型可以理解为,一个事实表关联多个维度表,雪花模型可以理解为一个事实表关联多个维度表,维度表再关联维度表。

2.1.3 星座模型

星座模型,是对星型模型的扩展延伸,多张事实表共享维度表。

星座模型是很多数据仓库的常态,因为很多数据仓库都是多个事实表的。所以星座模型只反映是否有多个事实表,他们之间是否共享一些维度表。

2.2 范式模型

即实体关系(ER)模型,数据仓库之父Immon提出的,从全企业的高度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF。此建模方法,对建模人员的能力要求非常高。

特点:设计思路自上而下,适合上游基础数据存储,同一份数据只存储一份,没有数据冗余,方便解耦,易维护,缺点是开发周期一般比较长,维护成本高。

详见:一篇文章搞懂数据仓库:三范式与反范式_不吃西红柿-CSDN博客_数据仓库三范式

2.3 Data Vault模型

DataVault由Hub(关键核心业务实体)、Link(关系)、Satellite(实体属性) 三部分组成 ,是Dan Linstedt发起创建的一种模型方法论,它是在ER关系模型上的衍生,同时设计的出发点也是为了实现数据的整合,并非为数据决策分析直接使用。

2.4 Anchor模型

高度可扩展的模型,所有的扩展只是添加而不是修改,因此它将模型规范到6NF,基本变成了K-V结构模型。企业很少使用。

三 数据模型的评价标准

数据模型建设的怎么样,极度依赖规范设计,如果代码风格是“千人千面”,那么恐怕半年下来,业务系统就没法看了。没有什么比数据系统更看重法制,规范体系不仅能保障数据建设的一致性,也能够应对业务交接的情况,更能够为自动化奠定基础。

  1. 业务过程清晰:ODS就是原始信息,不修改;DWD面向基础业务过程;DIM描述维度信息;DWS针对最小场景做指标计算;ADS也要分层,面向跨域的建设,和面向应用的建设;
  2. 指标可理解:按照一定业务事务过程进行业务划分,明细层粒度明确、历史数据可获取,汇总层维度和指标同名同义,能客观反映业务不同角度下的量化程度;
  3. 核心模型相对稳定:如果业务过程运行的比较久,过程相对固定,就要尽快下沉到公共层,形成可复用的核心模型;
  4. 高内聚低耦合:各主题内数据模型要业务高内聚,避免在一个模型耦合其他业务的指标,造成该模型主题不清晰和性价比低。

小编有话

  • 在传统企业数仓中,业务相对稳定,以范式建模为主。 如电信、金融行业等
  • 在互联网公司,业务变化快,需求来来回回的改,计算和存储也不是问题,我们更关心快速便捷的响应业务需求,所以以维度建模为主流。

数仓系列传送门:https://blog.csdn.net/weixin_39032019/category_8871528.html

一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)相关推荐

  1. 一篇文章搞懂数据仓库:维度表(设计原则、设计方法)

    目录 1.什么是维度表? 2.维度表设计原则 (1)维度属性尽量丰富,为数据使用打下基础 (2)给出详实的.富有意义的文字描述 (3)区分数值型属性和事实 (4)沉淀出通用的维度属性,为建立一致性维度 ...

  2. 一篇文章搞懂数据仓库:常用ETL工具、方法

    目录 一.什么是ETL? 二.ETL & ELT 三.常用的ETL工具 3.1 sqoop 3.2 DataX 3.3 Kettle 3.4 canal 3.5 StreamSets 四.ET ...

  3. 一篇文章搞懂数据仓库:数据仓库规范设计

    目录 一.为什么要进行规范设计? 二.设计规范 - 指标 三.命名规范 - 表命名 3.1 常规表 3.2 中间表 3.3 临时表 3.4 维度表 四.开发规范 五.流程规范 一.为什么要进行规范设计 ...

  4. 一篇文章搞懂数据仓库:三范式与反范式

    少年易老学难成,一寸光阴不可轻. 目录 一.第一范式 二.第二范式 三.第三范式 四.反范式化 五.范式化设计和反范式化设计的优缺点 5.1 范式化 (时间换空间) 5.2 反范式化(空间换时间) 六 ...

  5. 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比

    在介绍Lambda和Kappa架构之前,我们先回顾一下数据仓库的发展历程: 传送门-数据仓库发展历程 写在前面 咳,随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代, ...

  6. 一篇文章搞懂数据仓库:数据应用--OLAP

    目录 1.OLAP和OLTP的区别 2.OLAP分类 3.OLAP基本操作 4.OLAP选型 1.olap和oltp的区别 OLTP OLAP 对象 业务开发人员 分析决策人员 功能 日常事务处理 面 ...

  7. c++ 计算正弦的近似值_一篇文章搞懂正弦保真性

    本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...

  8. 一篇文章搞懂filebeat(ELK)

    一篇文章搞懂filebeat(ELK) https://www.cnblogs.com/zsql/p/13137833.html 目录 一.filebeat是什么 1.1.filebeat和beats ...

  9. 让机器搞懂100万种隐含语义 腾讯Peacock模型全揭秘

    让机器搞懂100万种隐含语义 腾讯Peacock模型全揭秘 腾讯模型 36大数据 · 2015-02-28 17:21 Peacock通过并行计算对10亿x1亿级别的大规模矩阵进行分解,从海量样本数据 ...

  10. 一篇文章搞懂架构师的核心技能

    " 这是架构师系列的第一篇:核心技能,希望这个系列能完全揭示架构师这个职位:我先从核心技能开始,后续还有架构师之路,架构实战等架构师系列文章. 本文作者 陈睿 优知学院创始人,前携程定制旅游 ...

最新文章

  1. 带有自定义模块的JBoss EAP上的骆驼
  2. 滑动轨迹 曲线 python_python – 计算轨迹(路径)中的转折点/枢轴点
  3. Python Pytest中fixture之yield唤醒teardown和终结函数addfinalizer
  4. Android之实现 A/B分区更新固件
  5. 多组输入,scanf的与按位取反操作符的运用。
  6. 采用大规模或超大规模集成电路的计算机,采用大规模或超大规模集成电路的计算机属于_____计算机。...
  7. 今年秋季 MacBook Pro 将迎来六大变化
  8. 亚马逊中国发布2018图书排行榜
  9. 【淘宝静态页面HTML部分】
  10. 百度媒体云-android接入教程,帮助文档首页/百度账号连接/百度账号接入指南 - 百度开放云平台...
  11. linux 启动流程与文件系统管理
  12. linux trace 进程 文件路径,linux panic 问题定位
  13. 用泰勒公式编写一个sin函数--C语言
  14. 关于vue ui启动没反应问题
  15. 大学物理复习-静电场
  16. TextMeshPro中文字体生成和字体材质更换
  17. 推荐的几个比较好的网站和博客
  18. 逻辑树与可视树[转]
  19. 联通3G 网络设置+彩信设置
  20. 【python编程】使用python获取机器所在网络的公网IP(第一种方法)

热门文章

  1. MaterialDrawer库的Gradle配置
  2. 北京市居住证办理问题的整理
  3. 国外哪个服务器最稳定,合适的国外服务器有什么选择技巧
  4. 如何合并多个PDF文件并自动生成目录
  5. 使用R进行文本数据挖掘
  6. 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造)
  7. 平面设计的核心本质是什么
  8. linux版百度导航软件,百度导航2019新版
  9. 内网通过计算机名查询IP地址
  10. opencv半透明填充不规则区域