数据仓库之极限存储表,又名历史拉链表
历史背景
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
- 数据量比较大;
- 表中的部分字段会被修改如用户的地址,产品的描述信息等等;
- 需要查看某一个时间点或者时间段的历史快照信息,如,查看某一个用户在过去某一段时间内,更新过几次等等;
- 变化的比例和频率不是很大,如,总共有1000万的会员,每天新增和发生变化的有10万左右;
- 如果对这边表每天都保留一份全量,那么每次全量中会保存很多不变的信息,对存储是极大的浪费。
拉链历史表,既能满足反应数据的历史状态,又可以最大程度的节省存储。
业务数据
举个例子,比如有一张订单表,3月21号有3条记录:
订单创建日期 | 订单编号 | 订单状态 |
---|---|---|
2022-03-21 | 001 | 创建订单 |
2022-03-21 | 002 | 创建订单 |
2022-03-21 | 003 | 支付完成 |
到3月22日,表中有5条记录:
订单创建日期 | 订单编号 | 订单状态 |
---|---|---|
2022-03-21 |