一、事实表
- 事实表记录了特定行为事件的数字化信息,一般由数值型数字和指向维度表的外键组成。此类数据的数据量较大,更新比较频繁。
- 事实表的设计依赖于业务系统,事实表的数据可以计算出业务系统的指标数据。数据分析的实质就是基于事实表开展的计算操作。
思考:
二、维度表
- 维度是指观察数据的角度,一般是一个名词,比如对于销售金额这个事实,我们可以从销售时间、销售产品、销售店铺、购买顾客等多个维度来观察分析。
- 维度表的记录数比事实表少,但是每条记录可能会包含很多字段。
1.2.2 分类 - 主要包含两大类数据:
- 高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
- 低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表、地理维表等。数据量可能是个位数或者几千条几万条。
三、基数
基数指的是一个字段中不同值的个数,比如主键列具有唯一值,所以具有最高的基数,而性别枚举值(日期、地区等)这样的列的基数就很低。
四、对比
- 数据特性:事实表一般都是行为数据,数据量较大,更新较频繁;维度表相对较小,不更
新或更新频率低; - 图表展现:在图表展现中,事实数据体现为x轴,维度数据体现为y轴;
- 统计实现:在统计sql中,维度字段体现在groupby分组中,行为指标字段体现在count/sum
等聚合函数中。
五、栗子:
- 时间维度表
描述事件发生的时间,数据仓库就是一个随时间变化的数据集合,因此可能需要一个时间维度表。年月日时分秒。 - 地理维度表
描述地理位置信息数据,国家、省市县镇村、邮编等。 - 产品维度表
描述产品属性。比如书的分类,有科技、教育、小说等分类属性。 - 人员维度表
描述人员相关信息,销售人员、市场人员、开发人员等。