离线电商数仓学习笔记03-系统业务数据
电商常识
SKU:库存量基本单位,引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。
SPU:商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合。
比如我们去商场买一部苹果手机IPhonex,IPhonex就是SPU,而128G内存,银色的IPhonex这种具体到颜色的就是SKU。有点类似于类与对象的区别。
数仓理论
1 表的分类
实体表:一般用于存储现实存在的业务对象,比如用户,商品,商家等;
维度表:一般指对应的业务状态,比如订单状态之类的,也称为码表;
事务型事实表:一般指随着业务变化不断产生的数据,特点是一旦发生不会再变化,比如交易流水,操作日志等;
周期型事实表:一般指业务发生不断产生的数据,特点是会随着业务的周期性的推进而变化,比如订单之类;
2 同步策略
全量表:存储完整的数据;
增量表:存储新增的数据;
新增及变化表:存储新增加的数据和发生变化的数据;
拉链表:对新增及变化表做周期性合并。
实体表同步策略
实体表:主要是商品、用户、商户数据等等;
数据量比较小,可以做每日全量
维度表
维度表:主要是指订单状态、商品分类之类的
数据量同样比较小,可以做每日全量,对于不变的维度,可以存一份固定值
事务型事实表
事务型事实表:指随业务发生不断产生的数据,且数据发生不会改变,
数据量巨大,且每日都会新增,所以可以做增量表,并对每日数据进行分区储存
周期型事实表
周期型事实表:比如,订单、请假、贷款申请等;
这类表从数据量的角度,存每日全量的话,数据量太大,冗余也太大。如果用每日增量的话无法反应数据变化。 每日新增及变化量,包括了当日的新增和修改。一般来说这个表,足够计算大部分当日数据的。但是这种依然无法解决能够得到某一个历史时间点(时间切片)的切片数据。 所以要用利用每日新增和变化表,制作一张拉链表,以方便的取到某个时间切片的快照数据。所以我们需要得到每日新增及变化量。
3 范式理论
关系型数据库设计时,遵照一定的规范要求,目的在于降低数据的冗余性,目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。
使用范式的根本目的是:
1)减少数据冗余,尽量让每个数据只出现一次。
2)保证数据一致性