数仓建模

关系建模和维度建模是两种数据仓库的建模技术。关系建模由Bill Inmon所倡导,维度建模由Ralph Kimball所倡导。目前主流为维度建模。

https://zhuanlan.zhihu.com/p/362991213

1.关系建模(范式建模)

1.1 范式

1 目的

降低数据的冗余性

2 目前业界范式

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。逐个遵循,一般要求遵循第一,第二,第三范式,也就是三范式。

https://blog.csdn.net/Dream_angel_Z/article/details/45175621

1.2 建模

1 建模

关系建模将复杂的数据抽象为两个概念——实体和关系(实体表,关系表),并使用规范化(三范式)的方式表示出来

2 特点

关系模型严格遵循第三范式(3NF),数据冗余程度低,数据的一致性容易得到保证。

由于数据分布于众多的表中,查询会相对复杂,在大数据的场景下,查询效率相对较低。

2.维度建模

https://www.jianshu.com/p/daab50a23c56

https://cloud.tencent.com/developer/article/1772027

2.1 事实表和维度表

1 事实表

存储业务事实,事实表中的每行数据代表一个业务事件(下单、支付、退款、评价等)。

事实表的特征:

​ 内容相对的窄:列数较少(主要是外键id和度量值)

​ 非常的大

​ 经常发生变化,每天会新增加很多。

分类:事务型事实表,周期型快照事实表,累积型快照事实表

2 维度表

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

维表的特征:

​ 维表的范围很宽(具有多个属性、列比较多)

​ 跟事实表相比,行数相对较小:通常< 10万条

​ 内容相对固定:编码表

2.2 维度模型分类

在维度建模的基础上又分为三种模型:星型模型、雪花模型、星座模型。

星座模型是多个星型模型交织

2.3 建模

1 建模

维度模型面向业务,将业务用事实表和维度表呈现出来。

步骤:

https://www.cnblogs.com/suheng01/p/13522677.html

选择业务过程→声明粒度→确认维度→确认事实

2 特点

维度模型以数据分析作为出发点,不遵循三范式,故数据存在一定的冗余。

表结构简单,故查询简单,查询效率较高。


:D 一言句子获取中...