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

目录

写在前面

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

二、四种常见模型

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习C语言可以从以下几个方面入手

学习C语言可以从以下几个方面入手: 了解基础知识:首先,你需要了解C语言的基本语法和规则,包括变量、数据类型、运算符、控制结构等。可以通过阅读相关的教材或在线教程来学习这些基础知识。动手实践:理论知识的学习是…

王飞跃谈GE艰难的数字化转型启示:从工业智联网到工业5.0

来源:德先生外患:2018年6月26日,通用电气(下文称GE)被剔除出道琼斯工业平均指数,而GE自1907年即是道指成分股,至今坚守了111年。2017年以来,通用电气股价从30美元左右下跌到现在的13…

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

目录 一、什么是ETL? 二、ETL & ELT 三、常用的ETL工具 3.1 sqoop 3.2 DataX 3.3 Kettle 3.4 canal 3.5 StreamSets 四、ETL加载策略 4.1 增量 4.2 全量 4.3 流式 小编有话 一、什么是ETL? ETL,是英文Extract-Transform-Lo…

经典排序之 堆排序

开了个公众号「aCloudDeveloper」,专注技术干货分享,期待与你相遇。 Author: bakari Date: 2012.7.30 排序算法有很多种,每一种在不同的情况下都占有一席之地。关于排序算法我分“经典排序之”系列分别述之。本篇为堆排序。 堆排序是运用二叉…

操作系统之进程概念

进程概念 进程是什么: 表面上来说进程是程序的一个执行实例,或者是一个正在执行的程序等,从操作系统的角度来说,程序运行需要将代码数据加载到内存中,由于在操作系统中运行了很多的程序,操作系统就必须去管…

也谈压缩感知和贝叶斯大脑

来源:科学网压缩感知和人工智能都是当下很热很热的研究课题。不过许多论文数学论述高深莫测,加之一大堆各种千奇百怪的数学符号,不仅让人望而生畏,望而却步。笔者对希望用形象的比喻把问题大致轮廓讲清楚就好。所谓压缩感知是什么…

一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法、对比)

目录 1、三种事实表概述 2、三种事实表对比 3、事实表设计 8 大原则 4、事实表设计方法 第一步:选择业务过程及确定事实表类型 第二步:声明粒度 第三步:确定维度 第四步:确定事实 事实表作为数据仓库维度建模的核心&#…

深思考人工智能蝉联SMP2018多轮语义对话冠军,报告解读多轮人机对话实现过程...

人机对话技术近年来受到了学术界和产业界的广泛关注,其发展影响并推动着语音识别与合成、自然语言理解、对话管理以及自然语言生成等研究的进展。众多产业界巨头相继推出了人机对话技术相关产品,并将人机对话技术作为其公司的重点研发方向。8月3日&#…

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

目录 一、为什么要进行规范设计? 二、设计规范 - 指标 三、命名规范 - 表命名 3.1 常规表 3.2 中间表 3.3 临时表 3.4 维度表 四、开发规范 五、流程规范 一、为什么要进行规范设计? 无规矩、不方圆。规范设计是在具体开发工作之前制定的&…

map的详解及常见面试题

map的概念 map是STL中的一个关联式容器,它提供一对一的K-V的数据处理能力,由于这个特性,在我们需要完成Key-Value数据处理的时候可以很方便的调用。map的底层结构是红黑树,这棵树对数据有自动排序的功能,所以map中的数…

无处不在的人工智能,IBM沃森的20个行业应用

来源:资本实验室聚焦前沿科技创新与传统产业升级自2011年在美国综艺电视节目《危险边缘》中一战成名后,IBM的Watson就一直是最受关注的人工智能之一。从菜谱分析到球队管理,从健康顾问到酒店礼宾服务,Watson基于自然语言处理和机器…

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

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

宇宙和你,本质上其实只是个八维数字?

剑桥大学的数学物理学家Cohl Furey正在寻找粒子物理标准模型和八元数之间的联系。八元数的乘法规则被编码在被称为法诺面的三角图中。来源: 环球科学对于一维、二维乃至四维的数字,人们都不陌生:一维的实数一直都存在于经典物理中&#xff0c…

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

目录 1、OLAP和OLTP的区别 2、OLAP分类 3、OLAP基本操作 4、OLAP选型 1、olap和oltp的区别 OLTPOLAP对象业务开发人员分析决策人员功能日常事务处理面向分析决策模型关系模型多维模型数据量几条或几十条记录>百万于万条记录操作类型增、删、查、改(CRUD)查询为主…

欧洲、美国、中国智慧城市的不同实践路径

来源:远望智库摘要:随着ICT、大数据、物联网等各类新兴技术的不断发展,智慧城市的运营和实践也不断趋于成熟。随着ICT、大数据、物联网等各类新兴技术的不断发展,智慧城市的运营和实践也不断趋于成熟。通过整理欧美各大典型智慧城…

使用IOUtils和FileUtils

文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实…

重磅推荐:机器人行业深度报告

来源:WPR随着中国人口红利消失,机器人不仅在制造业上正在替代工人,还将在军事、服务、娱乐等领域取代人类,“钢铁侠”已不仅仅存在于美国科幻电影中,而正走入我们的生活。本篇报告对机器人行业及龙头上市公司进行分析&…

Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min

第一次使用的Qt的时候出现了这种错误! 相信很多人在第一次使用的时候都会遇到这样的情况,果不其然,搜了一下很多的处理方法,其中有一种我感觉是最有效的,就是改一下他的生成路径就好了,因为这个错误的出现…

一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实

目录 1、概述 总线架构 一致性维度 一致性事实 2、总线架构demo 1、概述 在Kimball的维度建模的数据仓库中,关于多维体系结构(MD)有三个关键性概念:总线架构(Bus Architecture),一致性维…

路易斯·罗森伯格与「群体智能」

选自 | Gigaom编译 | 网易智能(smartman163)参与 | 李擎与谷歌、Facebook等开发“传统意义上的人工智能”的技术不同,在Unanimous A.I.,科学家们利用人工智能来放大群体的智慧,而不是使用人工智能来代替人类。他们没有…