四种常见的数据模型

为什么要进行数仓建模?

        性能:良好的数据模型能帮助我们快速查询需要的数据,减少数据I/O吞吐

        成本:减少数据冗余、计算结果复用、从而减低存储和计算成本

        效率:改善用户使用数据的体验,提高使用数据的效率

        改善统计口径的不一致性,减少数据计算错误的可能性

 维度模型

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

        (维度建模四部曲:选择业务处理过程->定义粒度->选择维度->确定事实)

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

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

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

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

范式模型

        即实体关系(ER模型),从全企业的角度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF。

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

DATA VAULT模型

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

Anchor模型

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

数据模型的评价标准

        业务过程清晰:ODS就是原始信息,不修改;DWD面向基础业务过程;DIM描述维度信息;DWS针对小场景做指标计算;ADS也要分层,面向跨域的建设,和面向应用的建设;

        指标可理解:按照一定业务事务过程进行业务划分,明细层粒度明确、历史数据可获取,汇总层维度和指标同名同义,能客观反映业务不同角度下的量化程度;

        核心模型相对稳定:如果业务过程运行的比较久,过程相对固定,就要尽快下沉到公共层,形成可复用的核心模型;

        高内聚低耦合:各主题内数据模型要业务高内聚,避免在一个模型耦合其他业务的指标,造成该模型主题不清晰和性价比低。

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

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

相关文章

移动APP、WEB端和PC端测试的区别

移动APP、WEB端和PC端的测试区别主要体现在以下几个方面: 1. 平台和环境 移动APP是在移动设备上运行的应用程序,测试需要考虑不同的操作系统(如iOS、Android等)、不同的设备型号和屏幕分辨率。WEB端是在浏览器上运行的应用程序&am…

ssm+vue中国咖啡文化宣传网站源码和论文

ssmvue中国咖啡文化宣传网站源码和论文078 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 课题背景 随着时代的发展和人们生活理念的进一步改变,咖啡业已经成为了全球经济中发展最迅猛的产业之一。…

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性…

几个nlp的小任务(多选问答)

@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t

探究代理技术在网络安全、爬虫与HTTP通信中的多重应用

在当今高度互联的世界中,代理技术在网络安全、爬虫开发以及HTTP通信中扮演着举足轻重的角色。本文将深入探讨Socks5代理、IP代理以及HTTP代理在这些领域中的多重应用,探索其如何为我们创造更安全、高效的网络环境。 1. Socks5代理:构建安全通…

启动程序结束程序打开指定网页

import subprocess subprocess.Popen(r"C:\\Program Files\\5EClient\\5EClient.exe") # 打开指定程序 import os os.system(TASKKILL /F /IM notepad.exe) # 结束指定程序 import webbrowser webbrowser.open_new_tab(https://www.baidu.com) # 打开指定网页

MySQL对小数进行四舍五入等操作

数学函数是MySQL中常用的一类函数。其主要用于处理数字,包括整型和浮点数等等。 MySQL常用的四舍五入函数: 函数说明 FLOOR(X) 返回不大于X的最大整数。CEIL(X)、CEILING(X) 返回不小于X的最小整数。 ROUND(X) 返回离X最近的整数,截断时要进行…

8月28日,每日信息差

1、欧拉汽车第40万台整车下线。据介绍品牌与用户共创的最新成果2023款好猫&好猫GT木兰版尊荣型也在同一时间上市,限时12.98万起 2、马克古尔曼:M3款苹果MacBook最早今年10月发布 3、大麦成立“艺展鸿图”展览厂牌。专注于高品质艺术展览、授权等业…

事务特性 - 达梦数据库

达梦数据库事务特性 1 事务特性1.1 原子性1.2 一致性1.3 隔离性1.4 持久性 1 事务特性 事务必须具备什么属性才是一个有效的事务呢?一个逻辑工作单元必须表现出四种属性,即原子性、一致性、隔离性和持久性,这样才能成为一个有效的事务。DM 数…

基于SSM+vue框架的个人博客网站源码和论文

基于SSMvue框架的个人博客网站源码和论文061 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm (设计)研究背景与意义 关于博客的未来:在创办了博客中国(blogchina)、被誉为“…

2023最新任务悬赏平台源码uniapp+Thinkphp新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机

新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机制 后端是:thinkphpFastAdmin 前端是:uniapp 1.优化首页推荐店铺模块如有则会显示此模块没有则隐藏。 2修复首页公告,更改首页公告逻辑。(后台添加有公…

C# 学习笔记--个人学习使用 <1>

C# 学习笔记 Chapter 1 C# 比较软的基础部分Section 1 类与命名空间Part 1 命名空间 NameSpacePart 2 类 Class Section 2 基本元素Section 3 数据类型Part 1 什么是类型?Part 2 类型在 C Sharp 中的作用Part 3 C Sharp 中的数据类型 Section 4 变量、对象与内存Par…

软件工程(十) 需求工程之需求开发与管理

前面我们学习到了需求工程的概念与分类,我们知道了需求工程主要分为需求开发和需求管理,但是没有说明到底该如何开发需求,有哪些方法去开发需求。到底该如何进行需求管理,又有哪些进行需求管理的方式。具体是如何去做的。下面我们将会详细进行描述。 1、需求开发 1.1、需…

URI和URL和URN区别

URI、URL 和 URN 是一系列从不同角度来看待资源标识和定位的概念。虽然它们有一些重叠,但每个概念都强调了不同的方面。 URI(Uniform Resource Identifier):URI 是一个通用的术语,用于标识和定位资源。它是一个抽象的概…

多线程(二)

一.关于线程的常用操作 1.启动线程 run(): 对于run方法的覆写只是指定线程要做的任务清单,而不是真正的启动线程 start(): start()方法才是真正的在底层创建出一个线程,并且启动 2.中断线程 1.通过共享的标记来中断 package demo; impor…

UML四大关系

文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中,统一建模语言(Unified Modeling Language&#x…

Go 自学:文件的写入和读取

首先,使用os.Create()函数建立一个文件。 接着,使用io.WriteString()函数将内容写入文件。 最后,使用os.ReadFile()函数读取文件内容。 注意,这里读取的文件内容是data byte,我们需要使用string()函数将其转换为字符串…

谈谈对 GMP 的简单认识

犹记得最开始学习 golang 的时候,大佬们分享 GMP 模型的时候,总感觉云里雾里,听了半天,并没有一个很清晰的概念,不知 xmd 是否会有这样的体会 虽然 golang 入门很简单,但是对于理解 golang 的设计思想和原…

Python遥感图像处理应用篇038 GDAL 遥感图像特征提取(统计特征图)

1.图像统计特征 遥感图像的统计特征是对图像中像素值的统计分布进行定量化描述的过程。这些统计特征可以提供关于图像内容和特性的有用信息。下面是一些常用的遥感图像统计特征描述方法: 平均值(Mean):计算图像中所有像素值的平均值,可以反映整个图像的亮度水平。 方差(…

R语言05-R语言中的数据框

概念 在R语言中,数据框(Data Frame)是一种类似于表格的数据结构,用于存储二维数据,其中每列可以包含不同类型的数据,例如数值、字符、因子、逻辑等。数据框是R中常用的数据结构,用于处理和分析…