项目实战从0到1之spark(31)大数据项目之电商数仓(总结)(一):系统业务数据仓库

第1章 电商业务与数据结构简介
1.1 电商业务流程   
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.2 电商常识(SKU、SPU)php

  • SKU=Stock Keeping Unit(库存量基本单位)。如今已经被引伸为产品统一编号的简称,每种产品均对应有惟一的SKU号。
  • SPU(Standard Product Unit):是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合。

好比,我们购买一台iPhoneX手机,iPhoneX手机就是一个SPU,可是你购买的时候,不多是以iPhoneX手机为单位买的,商家也不可能以iPhoneX为单位记录库存SKU。必需要以什么颜色什么版本的iPhoneX为单位。好比,你购买的是一台银色、128G内存的、支持联通网络的iPhoneX,商家也会以这个单位来记录库存数。那这个更细致的单位就叫库存单元(SKU)。

那SPU又是干什么的呢?


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

SPU表示一类商品。好处就是:能够共用商品图片,海报、销售属性等。
1.3 电商表结构
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.1 订单表(order_info)
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.2 订单详情表(order_detail)
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
1.3.3 商品表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.4 用户表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.5 商品一级分类表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.6 商品二级分类表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.7 商品三级分类表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.3.8 支付流水表
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


第2章 数仓理论(面试重点)
2.1 表的分类
2.1.1 实体表
实体表,通常是指一个现实存在的业务对象,好比用户,商品,商家,销售员等等。
用户表:
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.1.2 维度表
维度表,通常是指对应一些业务状态,编号的解释表。也能够称之为码表。
好比地区表,订单状态,支付方式,审批状态,商品分类等等。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.1.3 事务型事实表
事务型事实表,通常指随着业务发生不断产生数据。特色是一旦发生不会再变化。
通常好比,交易流水,操做日志,出库入库记录等等。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.1.4 周期型事实表
周期型事实表,通常指随着业务发生不断产生变化(更新, 新增)的数据。
与事务型不一样的是,数据会随着业务周期性的推动而变化。
好比订单,其中订单状态会周期性变化。再好比,请假、贷款申请,随着批复状态在周期性变化。

订单表:
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.2 同步策略
数据同步策略的类型包括:全量表、增量表、新增及变化表、拉链表面试

  • 全量表:存储完整的数据。
  • 增量表:存储新增长的数据。
  • 新增及变化表:存储新增长的数据和变化的数据。
  • 拉链表:对新增及变化表作按期合并。



2.2.1 实体表同步策略
实体表:好比用户,商品,商家,销售员等
实体表数据量比较小:一般能够作每日全量,就是天天存一份完整数据。即每日全量。

2.2.2 维度表同步策略
维度表:好比订单状态,审批状态,商品分类
维度表数据量比较小:一般能够作每日全量,就是天天存一份完整数据。即每日全量。
说明:
1)针对可能会有变化的状态数据能够存储每日全量。
2)没变化的客观世界的维度(好比性别,地区,民族,政治成分,鞋子尺码)能够只存一份固定值。

2.2.3 事务型事实表同步策略
事务型事实表:好比,交易流水,操做日志,出库入库记录等。
由于数据不会变化,并且数据量巨大,因此天天只同步新增数据便可,因此能够作成每日增量表,即每日建立一个分区存储。

2.2.4 周期型事实表同步策略
周期型事实表:好比,订单、请假、贷款申请等
这类表从数据量的角度,存每日全量的话,数据量太大,冗余也太大。若是用每日增量的话没法反应数据变化。
每日新增及变化量,包括了当日的新增和修改。通常来讲这个表,足够计算大部分当日数据的。可是这种依然没法解决可以获得某一个历史时间点(时间切片)的切片数据。
因此要用利用每日新增和变化表,制做一张拉链表,以方便的取到某个时间切片的快照数据。因此咱们须要获得每日新增及变化量。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.3 范式理论
2.3.1 范式概念
关系型数据库设计时,遵守必定的规范要求,目的在于下降数据的冗余性,目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。
范式能够理解为设计一张数据表的表结构,符合的标准级别。

使用范式的根本目的是:
  1)减小数据冗余,尽可能让每一个数据只出现一次。
  2)保证数据一致性
缺点是获取数据时,须要经过Join拼接出最后的数据。

2.3.2 函数依赖


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.3.3 三范式区分
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=数据库

下载附件 网络

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=