简单了解概念版本:https://blog.csdn.net/houfengfei668/article/details/79619215
一、拉链表
记录每个订单状态的历史变化
- dw_begin_date表示该条记录的生命周期开始时间,dw_end_date表示该条记录的生命周期结束时间;
- dw_end_date = ‘9999-12-31’表示该条记录目前处于有效状态,是最新状态。
如何记录变化?
举例:order1在20号创建,21号支付,则创建记录的end_date => 20号;支付记录的begin_date => 21号,end_date为9999
适用条件
- 数据量比较大;
- 变化的比例和频率不是很大,比如,总共有1000万的会员,每天新增和发生变化的有10万左右;
- 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态
- 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;
好处
- 满足反应数据的历史状态,又可以最大程度的节省存储
详情参考链接:http://lxw1234.com/archives/2015/04/20.htm