数仓理论

表的分类

实体表

  • 定义
    实体表,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。
    用户表:
用户id姓名生日性别邮箱用户等级创建时间
1张三2011-11-11zs@163.com22018-11-11
2李四2011-11-11ls@163.com32018-11-11
3王五2011-11-11中性ww@163.com12018-11-11

维度表

  • 定义
    维度表,一般是指对应一些业务状态,代码的解释表。也可以称之为码表。
    比如地区表,订单状态,支付方式,审批状态,商品分类等等。
    订单状态表:
订单状态编号订单状态名称
1未支付
2支付
3发货中
4已发货
5已完成

商品分类表:

商品分类编号分类名称
1少儿
2文艺
3生活
4科技

事务型事实表

  • 定义
    事务型事实表,一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。
    一般比如,交易流水,操作日志,出库入库记录等等。
    交易流水表:
编号对外业务编号订单编号用户编号支付宝交易流水编号支付金额交易内容支付类型支付时间
175776979451111QEyF-63000323223.00海狗人参丸1alipay2019-02-10 00:50:02
201700995222222qdwV-25111279589.00海狗人参丸2wechatpay2019-02-10 00:50:02
318409316793666hSUS-65716585485.00海狗人参丸3unionpay2019-02-10 00:50:02

周期型事实表

  • 定义
    周期型事实表,一般指随着业务发生不断产生的数据。
    与事务型不同的是,数据会随着业务周期性的推进而变化。
    比如订单,其中订单状态会周期性变化。再比如,请假、贷款申请,随着批复状态在周期性变化。
    订单表:
订单编号订单金额订单状态用户id支付方式支付流水号创建时间操作时间
1223.002111alipayQEyF-630003232019-02-10 00:01:292019-02-10 00:01:29
2589.002222wechatpayqdwV-251112792019-02-10 00:05:022019-02-10 00:05:02
3485.001666unionpayhSUS-657165852019-02-10 00:50:022019-02-10 00:50:02

同步策略

数据同步策略的类型包括:全量表、增量表、新增及变化表、拉链表
全量表:存储完整的数据。
增量表:存储新增加的数据。
新增及变化表:存储新增加的数据和变化的数据。
拉链表:对新增及变化表做定期合并。

实体表同步策略

实体表:比如用户,商品,商家,销售员等
实体表数据量比较小:通常可以做每日全量,就是每天存一份完整数据。即每日全量。

维度表同步策略

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

事务型事实表同步策略

事务型事实表:比如,交易流水,操作日志,出库入库记录等。
因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可,所以可以做成每日增量表,即每日创建一个分区存储。

周期型事实表同步策略

周期型事实表:比如,订单、请假、贷款申请等
这类表从数据量的角度,存每日全量的话,数据量太大,冗余也太大。如果用每日增量的话无法反应数据变化。
每日新增及变化量可以用,包括了当日的新增和修改。一般来说这个表,足够计算大部分当日数据的。但是这种依然无法解决能够得到某一个历史时间点(时间切片)的切片数据。
所以要用利用每日新增和变化表,制作一张拉链表,以方便的取到某个时间切片的快照数据。所以我们需要得到每日新增及变化量。
拉链表:

name姓名start新名字创建时间end名字更改时间
张三1990/1/12018/12/31
张三三2019/1/19999-99-99

范式理论

范式概念

关系型数据库设计时,遵照一定的规范要求,目的在于降低数据的冗余性,目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。
范式的标准定义是:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度。通俗地讲,范式可以理解为一张数据表的表结构,所符合的某种设计标准的级别。
使用范式的根本目的是:
1)减少数据冗余,尽量让每个数据只出现一次。
2)保证数据一致性
缺点是获取数据时,需要通过join拼接出最后的数据。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值