數倉中的全量表,增量表,拉鍊表,流水錶,快照表

預熱:

我們先從幾個物理概念入手理解什麼是流量,存量,增量

(1)存量:系統在某一時點時的所保有的數量;

(2)流量:是指在某一段時間內流入/出系統的數量

(3)增量:則是指在某一段時間內系統中保有數量的變化

(4)增量=流入量--流出量

(5)本期期末存量=上期期末存量+本期內增量

正題

一般公司只是簡單分成 全量表,增量表,和拉鍊表。所以重點關注如下三個表就OK了。

全量表:每天的所有的最新狀態的數據。

(1)全量表,有無變化,都要報
(2)每次上報的數據都是所有的數據(變化的 + 沒有變化的)

增量表:新增數據,增量數據是上次導出之後的新數據。
(1)記錄每次增加的量,而不是總量;
(2)流量是指在一定時間內的增量;
(3)流量一般設計成增量表(日報-常用、月報);
(4)流量和存量的區別:流量是增量;存量是總量;
(5)增量表,只報變化量,無變化不用報

 

 

拉鍊表

(1)記錄一個事物從開始,一直到當前狀態的所有變化的信息;

(2)拉鍊表每次上報的都是歷史記錄的最終狀態,是記錄在當前時刻的歷史總量;

(3)當前記錄存的是當前時間之前的所有歷史記錄的最後變化量(總量);

(4)存量是在某一時刻的總量;

(5)存量一般設計成拉鍊表(月報-常用、日報);

(6)流量和存量的區別:流量是增量;存量是總量;

(7)封鏈時間可以是2999,3000,9999等等比較大的年份;拉鍊表到期數據要報0;

(8)拉鍊表和增量表的共同點:表結構基本一樣。

在有些情況下,爲了保持歷史的一些狀態,需要用拉鍊表來做,這樣做目的在可以保留所有狀態的情況下可以節省空間。  

拉鍊表適用於以下幾種情況吧   數據量有點大,表中某些字段有變化,但是呢變化的頻率也不是很高,業務需求呢又需要統計這種變化狀態,每天全量一份呢,有點不太現實,   不僅浪費了存儲空間,有時可能業務統計也有點麻煩,

這時,拉鍊表的作用就提現出來了,既節省空間,又滿足了需求。 

 

關於拉鍊表設計的案例:可以看看下面的博客

http://www.cnblogs.com/wujin/p/6121754.html  

https://blog.csdn.net/mtj66/article/details/78019370

http://www.jianshu.com/p/799252156379  

http://lxw1234.com/archives/2015/04/20.htm

前段時間,我同事還問我拉鍊表好處。這個也是面試的時候,我常問求職者的。

流水錶:對於表的每一個修改都會記錄,可以用於反映實際記錄的變更

 區別於拉鍊表: 

  1. 拉鍊表通常是對賬戶信息的歷史變動進行處理保留的結果,流水錶是每天的交易形成的歷史;

  2.  流水錶用於統計業務相關情況,拉鍊表用於統計賬戶及客戶的情況

 其實有的公司是這樣定義的:

 按照每天存放的數據以及是否按天分區可以分爲增量表,全量表和快照表

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章