谈笑间学会数仓—拉链表&&流水表

拉链表 && 流水表

前言

  • 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。
  • 流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。

适用场景对比

拉链表通常是对账户信息的历史变动进行处理保留的结果,流水表是每天的交易形成的历史;
流水表用于统计业务相关情况,拉链表用于统计账户及客户的情况
数据仓库之拉链表(原理、设计以及在Hive中的实现)

在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。

拉链表

拉链表应用场景

数据量大,表中某些字段有变化,但是变化的频率不是很高

业务需求,需要统计这种变化状态。

每天全量一份,浪费了存储空间,获取不到数据的变化。

这时,拉链表的作用就体现出来了,既节省空间,又满足了需求。

一般在数仓中通过增加begin_date,en_date来表示。

电商支付案例

如下例,后两列是start_date和end_date.

1 2020/8/20 2020/8/20 创建 2020/8/20 2020/8/20
1 2020/8/20 2020/8/21 支付 2020/8/21 2020/8/21
1 2020/8/20 2020/8/22 完成 2020/8/22 9999/12/31
2 2020/8/20 2020/8/20 创建 2020/8/20 2020/8/20
2 2020/8/20 2020/8/21 完成 2020/8/21 9999/12/31
3 2020/8/20 2020/8/20 创建 2020/8/20 2020/8/21
3 2020/8/20 2020/8/22 支付 2020/8/22 9999/12/31
4 2020/8/21 2020/8/21 创建 2020/8/21 2020/8/21
4 2020/8/21 2020/8/22<
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrZhangBaby

请博主喝杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值