大数据数仓维度建模

news/2025/3/15 3:31:28/

目录

维度建模分为三种:

        1、星型模型:

        2、雪花模型:

        3、星座模型: 

模型的选择:

 维度表和事实表:

        维度表:

          维度表特性 :       

        事实表:

                事实表特性:

               事务型事实表:

              周期型快照事实表:

             累积型快照事实表:


维度建模分为三种:

        1、星型模型:

                        

 雪花模型与星座模型的区别主要在于维度的层级,标准的星型模型只有一层,而雪花模型可能会涉及多级。

        2、雪花模型:

 雪花模型,比较靠近3NF,但是无法完全遵守,因为遵循3NF的性能成本太高。

        3、星座模型: 

 星座模型与前面两种情况的区别是事实表的数量,星座模型是基于多个事实表。

模型的选择:

        首先就是星座不星座只跟数据和需求有关系,跟设计没有关系,不用选择。

        星型还是雪花,取决于性能优先,还是灵活更优先。

        通过市场调研中,不会绝对的选择一种,根据情况灵活组合,甚至并存(一层维度和多层维度都是存在的)。但是从整体来看,星型模型用维度比较少。尤其是Hadoop体系,减少Join就是减少Shuffle,性能差距很大。(关系型数据可以依靠强大的主建索引)。

 维度表和事实表:

        维度表:

一般是对事实的描述信息。每一张维表对应现实世界中的一个对象或者概念。    例如:用户、商品、日期、地区等。

          维度表特性 :       

  • 维表的范围很宽(具有多个属性、列比较多)
  • 跟事实表相比,行数相对较小:通常< 10万条
  • 内容相对固定:编码表

        事实表:

                每行数据代表一个业务事件(下单、支付、退款、评价等)

                事实表特性:

  • 非常的大
  • 内容相对的窄:列数较少(主要是外键id和度量值)
  • 经常发生变化,每天会新增加很多。

               事务型事实表:

                以每个事务或事件为单位,例如一笔支付记录,作为事实表里的一行数据。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。

              周期型快照事实表:

周期型快照事实表中不会保留所有数据只保留固定时间间隔的数据,例如每天或者每月的销售额,或每月的账户余额等。

例如购物车,有加减商品,随时都有可能变化,但是我们更关心每天结束时这里面有多少商品,方便我们后期统计分析。

             累积型快照事实表:

        累计快照事实表用于跟踪业务事实的变化。例如,数据仓库中可能需要累积或者存储订单从下订单开始,到订单商品被打包、运输、和签收的各个业务阶段的时间点数据来跟踪订单声明周期的进展情况。当这个业务过程进行时,事实表的记录也要不断更新。


http://www.ppmy.cn/news/48323.html

相关文章

KDXJ-8 SF6气体泄漏报警在线检测系统

一、功能特点 1. 定量测量SF6&#xff08;六氟化硫&#xff09;气体浓度&#xff1b; 2. 定量测量O2&#xff08;氧气&#xff09;气体浓度&#xff1b; 3. 定量测量大气温湿度&#xff1b; 4. 可根据需要设置SF6和O2气体浓度的报警点&#xff1b; 5. 后台监控&#xff1b; 6.…

电脑不限时长的录屏软件分享

案例&#xff1a;有没有录屏软件不限时长录制视频&#xff1f; “今天的视频会议特别重要&#xff0c;我想用录屏的方式记录下来。在网上下载了一个录屏软件&#xff0c;录到3分钟的时候&#xff0c;需要解锁高级功能才能继续录制。想问问大家有没有电脑免费不限时长的录屏软件…

\r与\n详解

在 C 语言中&#xff0c; 回车符可以用 “\r” 来表示&#xff0c; 换行符可以用 “\n” 来表示。 例如&#xff0c;在代码中使用 printf() 函数输出 “Hello\r\nWorld”&#xff0c;那么输出的结果将会是&#xff1a; Hello World其中&#xff0c;"\r\n" 表示一个回…

根据身份证号码判断是否是未成年人

/**** * 根据身份证号计算年龄 * param str * param currDate * return */ public boolean calcYear(String str, Date currDate){ DateFormat dateFormat new SimpleDateFormat("yyyyMMdd"); Long year Long.par…

ESP32学习笔记14-mqtt-连接官方mqtt,onenet,thingsboard物联网平台

12.MQTT 12.0工程里的WiFi密码和ssid设置 工程的WiFi配置 ssid password 打开配置 配置ssid和密码 工程配置文件sdkconfig IP和端口配置 乐鑫服务器mqtt 12.1数据结构和配置函

DQL查询语言(2)

目录 一交叉连接&#xff1a; 交叉连接的基本格式&#xff1a; 交叉连接的基本格式 笛卡尔积: 带条件的交叉连接: 二、内连接&#xff1a; 内连接的基本格式&#xff1a; 不带条件的内连接: 内连接和交叉连接的区别: 三、外连接&#xff1a; 1、左外连接&#xff08;简…

如今的就业环境下,怎样才能跻身于高收入的IC行业?

看到不少人失业找工作&#xff0c;其实现在不光是大学生难找工作&#xff0c;在职的人工作也不怎么开心。 要么累&#xff0c;要么没前途。 要么又累又没前途。 总的占个啥吧&#xff0c;现在大家面临的问题就是工作时间越来越久&#xff0c;人际关系也搞得很压抑&#xff0…

C嘎嘎~~【初识C++ 上篇】

初识C 上篇 &#x1fac5;1. C关键字&#x1fac5; 2.命名空间&#x1f937;‍♂️2.1命名空间的定义&#x1f937;‍♂️2.2命名空间的使用 &#x1fac5; 3.C输入 & 输出 转眼间&#xff0c; 就进入C这个新的篇章啦&#xff01; 我带着些许心悸 和 激动&#xff1a; 心悸…