維度建模數倉領域中的事實表大致分以下三種:事務事實表,週期快照事實表,累計事實表
什麼是稀疏表,什麼是稠密表?
稀疏表:當天只有發生了操作才會有記錄
稠密表:當天沒有操作也會有記錄,便於下游使用
事務事實表記錄的事務層面的事實,儲存的是最原子的資料,也稱「原子事實表」。事務事實表中的資料在事務事件發生後產生,資料的粒度通常是每個事務記錄一條記錄。一旦事務被提交,事實表資料被插入,資料就不再進行更改,其更新方式為增量更新。由於事實表具有稀疏性質 ,因此只有當天資料才會進入 當天的事實表中,相當於每個分割槽裡面都是每天的資料,不包含之前的資料。
事務事實表的日期維度記錄的是事務發生的日期,它記錄的事實是事務活動的內容。使用者可以通過事務事實表對事務行為進行特別詳細的分析。
為什麼事務事實表具有稀疏性質?
事實表一般圍繞著度量來建立,當度量產生的時候,事實記錄就生成了。度量可以是銷售數量、交易流水值、月末節餘等數值。如果同時生成多個度量值的話,我們可以在乙個事實表中建立多個事實。當我們的事實表中的事實比較多時,有可能多個事實不同時發生,如果同時生成的機率很小,我們稱之為稀疏事實表(sparse facts)。
週期快照事實表以具有規律性的、可預見的時間間隔來記錄事實,時間間隔如每天、每月、每年等等。典型的例子如銷售日快照表、庫存日快照表等。它統計的是間隔週期內的度量統計,如歷史至今、自然年至今、季度至今等等
週期快照表沒有粒度的概念,取而代之的是週期+狀態度量的組合,如歷史至今的訂單總數,其中歷史至今是乙個週期,訂單總數是度量。
週期快照事實表的粒度是每個時間段一條記錄,通常比事務事實表的粒度要粗,是在事務事實表之上建立的聚集表,比如說時間週期是1周,那麼這個週期快照事實表的一條記錄就是這一周的對於某個度量的統計值(我理解的)。
週期快照事實表的維度個數比事務事實表要少,但是記錄的事實要比事務事實表多(為什麼記錄的事會比事務事實表表多呢?)。事務事實表是稀疏表,週期快照表是稠密表。
事務事實表是稀疏的,只有當天發生的業務過程,事實表才會記錄該業務過程的事 實, 如下單、支付等;而快照事實表是稠密的,無論當天是否有業務過程發 生,都會記錄一行,比如針對賣家的歷史至今的下單和支付金額,無論 當天賣家是否有下單支付事實,都會給該賣家記錄一行。假如賣家之前下單6筆,昨天沒有下單,但是還是會給他在昨天的分割槽裡面紀錄它截止目前為止下單6筆的紀錄。
累積快照事實表和週期快照事實表有些相似之處,它們儲存的都是事務資料的快照資訊。但是它們之間也有著很大的不同,週期快照事實表記錄的確定的週期的資料,而累積快照事實表記錄的不確定的週期的資料。累積快照事實表代表的是完全覆蓋乙個事務或產品的生命週期的時間跨度,它通常具有多個日期字段,用來記錄整個生命週期中的關鍵時間點。例如訂單累計快照事實表會有付款日期,發貨日期,收貨日期等時間點。
事務事實表中一條交易記錄會每天有一條資料來記錄整個交易過程;而累積快照事實表只會有一條記錄,資料會一致更新直到過程結束。
累積快照事實表代表的是完全覆蓋乙個事務或產品的生命週期的時間跨度,它通常具有多個日期字段,用來記錄整個生命週期中的關鍵時間點。另外,它還會有乙個用於指示最後更新日期的附加日期字段。由於事實表中許多日期在首次載入時是不知道的,所以必須使用**關鍵字來處理未定義的日期,而且這類事實表在資料載入完後,是可以對它進行更新的,來補充隨後知道的日期資訊。
週期快照事實表記錄的是重複的可**到的時間間隔的事實,例如帳戶月結餘事實表,用來記錄每個月末的帳戶結餘資訊。一般週期快照的資料會按報表需要的週期進行記錄,比較適合周期長一些的情況。
而累計快照適用於較短週期,有著明確的開始和結束狀態的過程,如乙個訂單執行的過程,並記錄過程中每個步驟的執行時間,使分析人員對執行的過程有整體的把握。週期快照事實表記錄上每個步驟的執行時間是逐步建立的,隨著執行的過程逐步更新的事實表中。
維度表與事實表
維度表示你要對資料進行分析時所用的乙個量,比如你要分析產品銷售情況,你可以選擇按類別來進行分析,或按區域來分析.這樣的按.分析就構成乙個維度。前面的示例就可以有兩個維度 型別和區域。另外每個維度還可以有子維度 稱為屬性 例如類別可以有子型別,產品名等屬性。下面是兩個常見的維度表結構 產品維度表 pr...
事實表和維度表
維度表示你要對資料進行分析時所用的乙個量,比如你要分析產品銷售情況,你可以選擇按類別來進行分析,或按區域來分析.這樣的按.分析就構成乙個維度。前面的示例就可以有兩個維度 型別和區域。另外每個維度還可以有子維度 稱為屬性 例如類別可以有子型別,產品名等屬性。下面是兩個常見的維度表結構 產品維度表 pr...
維度表和事實表
維度表 一般是對事實的描述資訊。每一張維表對應現實世界中的乙個物件或者概念。例如 使用者 商品 日期 地區等。維表的特徵 事實表中的每行資料代表乙個業務事件 下單 支付 退款 評價等 事實 這個術語表示的是業務事件的度量值 可統計次數 個數 金額等 例如,訂單事件中的下單金額。每乙個事實表的行包括 ...