對數據分析愈來愈深刻,愈來愈發現數據標準化的重要性,再高明的數據分析技術,沒有規範統一的數據倉庫,也是「巧婦難爲無米之炊」。遂從頭再對數據倉庫技術進行一邊梳理。函數
業務過程是組織完成的操做性活動,例如:得到訂單、處理保險索賠、學生課程註冊或每月每一個帳單的快照等。業務過程事件創建或獲取性能度量,並轉換成事實表中的事實。過程定義了特定的設計目標以及對粒度、維度、事實的定義。性能
粒度用於肯定某一個事實表中的行表示什麼。粒度聲明是設計必須履行的合同。在選擇維度或事實前必須聲明粒度,某個候選維度或事實必須與定義的粒度保持一致。在全部維度設計中強制實行一致性是保證BI應用性能和易用性的關鍵。設計
原子粒度是最低級別的粒度。建議從關注原子級別粒度數據開始設計。同時,上卷彙總粒度對性能調整來講很是重要。針對不一樣的事實表粒度,要創建不一樣的物理表,在同一事實表中不要混用多種不一樣的粒度。代理
維度提供圍繞某一業務過程事件所涉及的「誰、什麼、何處、什麼時候、爲何、如何」等背景。維度表包含BI應用所須要的用於過濾及分類事實的描述性屬性(這也是識別維度的重要依據)。當與跟定的事實錶行關聯時,任何狀況下都應使維度保持單一值。事件
數據管理與維度表的開放是數據倉庫建設的主要工做。事務
事實涉及來自業務過程事件的度量,基本上都是以數量值表示。一個事實錶行與按照事實表粒度描述的度量時間之間存在一對一的關係,事實表對應的是一個物理可觀察的事件。全部事實只容許與聲明的粒度保持一致。數據分析
事實表中存儲的是現實世界中所發生的操做性事件所產生的可度量數值。從最低級的原子粒度來看,事實表中一行記錄對應現實世界中的一個度量事件。工作流
事實表的設計徹底依賴於物理活動,不受可能產生的最終報表的影響。事實表老是包含外鍵,用於關聯與之相關的維度,也包含可選的退化維度建和日期/時間戳。查詢請求的主要目標是基於事實表開展計算和彙集操做。基礎
事實表中的數字度量可劃分爲三類:請求
可加事實
最靈活、最有用的事實是徹底可加,可加性度量能夠按照與事實表關聯的任意維度彙總。
半可加事實
半可加度量能夠對某些維度彙總,但不能對全部維度彙總。差額是常見的半可加事實。
不可加事實
不可加事實對全部的維度不可加,例如比率。
事實表中的度量值能夠存在空值,由於全部的彙集函數(SUM、COUNT、MIN、MAX、AVG)都可以對空值進行計算。
事實表的維度外鍵不能存在空值,不然會致使違反參照完整性的狀況發生。關聯的維度表必須用默認行(代理鍵)而不是空值外鍵表示未知的或沒法應用的狀況。
事務事實表
事務事實表的一行對應空間或時間上某點的度量事件。原子事務粒度事實表是維度化及可表達的事實表,這類健壯的維度確保對事務數據的最大化分片和分塊。
週期快照事實表
週期快照事實表中的每行彙總了發生在某一個標準週期,如某一天、某周、某月的多個度量事件。粒度是週期性的,而不是個體事務。即便週期內沒有活動發生,也會在事實表中爲每一個事實插入包含0或空值的行。週期快照事實表的一個典型的應用場景是庫存。
累積快照事實表
累積快照事實表的行彙總了發生在過程開始和結束之間可預測步驟內的度量事件。管道或工做流過程(例如,履行訂單或索賠過程)具備定義的開始點,標準中間過程,定義的結束點,它們在此類事實表中均可以被建模。一般在事實表中針對過程當中的關鍵步驟都包含時間外鍵。累積快照事實表中的一行,對應某一具體的訂單,當訂單產生時會插入一行。但管道過程發生時,累積事實錶行被訪問並修改(這是很特別的)。
每一個維度表都包含單一的主鍵列。維度表的主鍵能夠做爲與之關聯的任何事實表的外鍵,固然,維度錶行的技術定義應與事實錶行徹底對應。
維度表一般比較寬,是扁平型非規範表,包含大量的低粒度的文本屬性。操做代碼與指示器可做爲屬性對待,最強有力的維度屬性採用冗長的描述填充。
維度表屬性是查詢及BI應用的約束和分組定義的主要目標。報表的描述性標識一般是維度表屬性領域值。
維度表中會包含一個列,表示惟一主鍵。該主鍵不是操做性系統的天然間。 維度主鍵一般是無心義的整型主鍵,是按順序分配的簡單整數,以值1開始,每次分配自動加1。但日期維度不須要遵照代理鍵規則。
當不一樣的維度表屬性具備相同的列名和領域內容時,稱維度表具備一致性。
類型:
原樣保留
重寫
增長新行
增長新屬性
增長微型維度
增長微型維度及類型1支架
增長類型1屬性到類型2維度
雙類型1和類型2維度