数据仓库—增量表,全量表,拉链表

一.增量表,全量表,拉链表概念

1.增量表
记录更新周期内新增的数据,即在原表中数据的基础上新增本周期内产生的新数据;

2.全量表
记录更新周期内的全量数据,无论数据是否有变化都需要记录;

3.拉链表
一种数据存储和处理的技术方式,可以记录数据的历史信息,记录数据从开始一直到当前所有变化的信息。

二.三种表详解

1.增量表
增量表每次更新是在原表数据的基础上记录本周期内新增的数据,每次更新只新增一天内产生的新数据,每次新产生的数据是以最新分区增加到表中,原先的数据依然存在于表中,例如日期是2020-06-03,新增1条数据到表中,dt=2020-06-03,但2020-06-01的数据依然在表中,可以按照dt=2020-06-01进行查询;

2.全量表
全量表每次更新都会记录全量数据,包括原全量数据和本次新增数据,即每个分区内的数据都是截至分区时间的全量总数据。注意:全量表中每个分区内都是截至分区时间的全量数据,原先分区的数据依然存在于表中,只是每次更新会在最新分区内再更新一遍全量数据。

3.拉链表
拉链表中有开始时间(start_time)和结束时间(end_time)两个字段;
start_time:数据的开始时间;
end_time:数据有效的截至日期;

拉链表一条数据闭链,end_time填写实际失效时间,同时新增一条数据,end_time填写系统能处理的最大时间,表示一个达不到的无限向后延伸的时间,意味着该数据在线上永久有效(即闭链的同时要有开链)。

拉链表可以记录一条数据从开始到当前的所有历史信息,便于查询历史数据。如还原2020-06-02的历史快照,使用end_time> ‘2020-06-02’ and start_time<= ‘2020-06-02’ 查询,end_time过滤2020-06-02之前的旧数据,start_time过滤2020-06-02之后的新数据。

posted @ 2020-11-11 14:51  Shmily_blog  阅读(1649)  评论(0编辑  收藏  举报