數據倉庫—增量表,全量表,拉鏈表


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

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之后的新數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM