事实表、维度表、指标、宽表的区别
事实表
事实表,通常我们可以认为它就是数据表。
它是指,发生在现实世界中的各种事件所形成的数据,如:
- 商品购买(产生订单数据)
- 账户创建(创建账户数据)
- 退货行为(产生退货数据)
等等,一系列现实世界的操作,会反映在事实表中的记录之上。
维度表
维度表是事实表的补充。维度表的主键可以关联到事实表的外键之上。
维度表描述的是,现实事件信息的补充。
比如,在事实表中仅仅记录了你购买商品的时间戳,但是维度表可以对这个时间戳进行信息补充,如:
- 当前日期
- 当日是周几
- 当日是否是节假日
- 当日是第几季度
- 当日是什么季节
- 当日是全年第几天
等等的一系列额外数据的补充。
又好比,你订单中购买了商品,在事实表中可能记录的只是商品ID,但是基于维度表(商品细节),可以补充:
- 商品厂家
- 商品尺寸
- 商品类别
- 进价
- 有效期
- 供应商
等等一系列补充。
一般情况下,维度表也会分为:大型维度表、小型维度表
小型维度表,就是如前面对日期做补充的维度表,这类维度表,一年的日期只需要365行数据,就可以对海量的数据进行补充。
大型维度表,就是如前面对商品做补充的维度表,商品越多,维度表内容越多。通常,大型维度表更会愿意被称为
- 字典表
- 同时对应着,事实表也可以称之为流水表
- 那么,字典表就是对流水表里面某一列数据的说明。
指标
指标就是对数据分析的需求,或者说是目标Schema。
比如,某个指标是:月热销商品TOP10,这个指标就是一个目标。
在数仓开发中,开发某个指标,就是针对某个目标进行数据建模、分层、处理。
宽表
宽表是指一种大表,是将事实表和维度表进行合并形成的表。
比如日期维度,将对应的日期维度的列,直接添加到事实表中,或者商品维度的列也同步加入到事实表中。
那么这样事实表的列就非常的多,它所涉及到的维度基本都涵盖在了一张表中,俗称All in one 。
对于这样的表,就称为宽表。
基于宽表,我们可以针对这一个表完成许多业务指标的开发。
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/p/16664492.html

浙公网安备 33010602011771号