天天看點

資料倉庫學習筆記 --- 拉連結清單詳解

定義:

拉連結清單 - 維護曆史狀态,以及最新狀态資料的一種表,拉連結清單根據拉鍊粒度的不同,實際上相當于快照,隻不過做了優化,去除了一部分不變的記錄而已,通過拉連結清單可以很友善的還原出拉鍊時點的客戶記錄。

拉連結清單通常是對賬戶資訊的曆史變動進行處理保留的結果。

需求:

1. 資料量比較大;

2. 表中的部分字段會被update,如使用者的位址,産品的描述資訊,訂單的狀态等等;

3. 需要檢視某一個時間點或者時間段的曆史快照資訊,比如,檢視某一個訂單在曆史某一個時間點的狀态,

   比如,檢視某一個使用者在過去某一段時間内,更新過幾次等等;

4. 變化的比例和頻率不是很大,比如,總共有1000萬的會員,每天新增和發生變化的有10萬左右;

5. 如果對這邊表每天都保留一份全量,那麼每次全量中會儲存很多不變的資訊,對存儲是極大的浪費;

拉鍊曆史表,既能滿足反應資料的曆史狀态,又可以最大程度的節省存儲;

拉連結清單設計:

在企業中,由于有些流水表每日有幾千萬條記錄,資料倉庫儲存5年資料的話很容易不堪重負,是以可以使用拉連結清單的算法來節省存儲空間。

1.采集當日全量資料存儲到 ND(當日) 表中。 

2.可從曆史表中取出昨日全量資料存儲到 OD(上日資料)表中。

3.用ND-OD為當日新增和變化的資料(即日增量資料)。

兩個表進行全字段比較,将結果記錄到tabel_I表中

4.用O