佛山高端网站建设,免费网站图片素材,小笨鸟跨境电商平台,网页浏览器电视版数仓理论
1 范式理论
1.1 范式概念
数据建模要遵循一定的规则#xff0c;在关系建模中#xff0c;这种规则就是范式
采用范式结构#xff0c;可以有效的降低数据的冗余性
范式在获取数据时#xff0c;需要通过join拼接出数据
范式有第一范式(1NF)#xff0c;第二范式…数仓理论
1 范式理论
1.1 范式概念
数据建模要遵循一定的规则在关系建模中这种规则就是范式
采用范式结构可以有效的降低数据的冗余性
范式在获取数据时需要通过join拼接出数据
范式有第一范式(1NF)第二范式(2NF)第三范式(3NF)巴斯-科德范式(BCNF)第四范式(4NF)第五范式(5NF)
一般只遵循到第三范式
1.2 函数依赖
1.2.1 完全函数依赖
通过(学号课程)可以推断出分数但是单独用学号或者课程都不能推断出分数这时可以说分数完全依赖于(学号课程)
即AB能推断出C但是A和B单独不能推断出C这时C完全依赖于AB
1.2.2 部分函数依赖
通过(学号课程)可以推断出姓名但是只通过学号就能推断出姓名这时可以说姓名部分依赖于(学号课程)
即AB能得出CA或B单独也能得出C这时C部分依赖于AB
1.2.3 传递函数依赖
学号可以推断出学院名学院名可以推断出院长但是院长推断不出来学号这时可以说院长传递依赖于学号
即A得出BB得出C但是C得不到A这时C传递依赖于A
1.3三范式的区分
1.3.1 第一范式
1NF的核心原则为属性不可切割
比如下面的表格商品列中的数据可以分割成 3台 和 电脑 所以下面的表格不遵循1NF
商品ID商品商家ID用户ID0013台电脑001001
修改成遵循1NF的表格为
商品ID商品商家ID用户ID数量001电脑0010013
1NF时关系型数据库的最基本的要求在RDBMS中创建表时如果不符合1NF的要求操作是不会成功的
1.3.2 第二范式
2NF的原则为不存在部分函数依赖
比如下面的表格属性不可切割满足第一范式但是课名不完全依赖于(学号姓名)所以不满足2NF的要求 这时将表拆分成以下两个这时就满足了2NF 1.3.3 第三范式
3NF的原则为不存在传递函数依赖
拿上面满足2NF的第二章表来说系主任传递依赖于学号所以需要进行进一步的拆解
拆分之后的如下两张表满足3NF 2 关系建模和维度建模
2.2 关系建模
关系建模将数据抽象成两个概念实体和关系使用规范化的方式表示出来如图所示关系建模较为松散。
关系建模遵循三范式数据冗余性低但是查询相对复杂join操作比较多导致MR较多查询效率较低
2.3 维度建模
维度建模以数据分析为出发点不遵循三范式存在一些数据冗余
面向业务将业务用事实表和维度表的方式表现出来
查询效率较高 3 维度表和事实表
3.1 维度表
维度表一般是对事实的描述信息比如用户、商品、日期等
维度表很宽具有多个属性列多
与事实表相比行数相对较小
内容相对固定
比如时间维度表
日期IDday of weekday of year季度2023-2-1534612023-2-164471
3.2 事实表
事实表中每行数据代表了一个业务事件(下单支付等)
实时表示的是实践的度量值(次数个数金额等)
比如2023年2月15日jx在京东花了40元买了一本书
维度表存储时间、用户、商家、商品等
实时表存储数量、价钱(40元一本)
一个事实表的行包括度量值、与维度表相连的外键(通常有多个外键)
事实表非常大,相对较窄列数较少主要存储的是外键id和度量值
经常会发生变化会产生很多的新增数据
3.2.1 事务型事实表
以单个事务或时间为单位
比如一笔支付记录、一个订单记录
事实表中的一行数据一旦事务被提交数据被插入就不能在进行更改
更新方式为增量同步
3.2.2 周期型快照事实表
不会保留所有的数据只保留固定时间间隔的数据
比如每天的营业额、每月的账户余额等
再比如购物车随时都有可能增减商品但是只关心每天结束时购物车的情况
3.2.3 累积型快照事实表
用于跟踪业务事实的变化
比如要累积订单从下单开始到订单商品打包、运输、签收的各个业务阶段的数据来追踪进展情况
这个业务进行时事实表的记录也要不断更新
4 维度模型的分类
4.1 模型的介绍
维度模型分为三种星型模型、雪花模型、星座模型
星型模型 标准的星型模型只有一层
雪花模型
雪花模型和星型模型的区别主要在于维度的层级
雪花模型较为靠近3NF但是无法完全遵守
星座模型
星座模型包含多个事实表多个事实表共享维度表
多个星型模型或者雪花模型会形成星座模型
4.2 模型的选择
星座模型不用进行原则多个事实表共享维度表是正常的是数据仓库的常态
选择星型模型还是雪花模型取决于是性能优先还是灵活优先在实际的开发中不会只选择一种需要根据情况灵活组合
星型模型维度更少可以减少join进而减少shuffle