目錄
- 前言
- What一致性維度
- When一致性維度
- Where一致性維度
- How一致性維度
- Why一致性維度
- 小結
前言
上一篇提到了數據倉庫建設中的維度建模方法,了解了總線架構的基礎是一致性維度。本篇將具體的總結一致性維度的5W問題。
What一致性維度
維度一直是大家所熟知的,但是前面加上了“一致性”之后便成了數據倉庫特有的一類維度表,其實一致性維度在表結構和屬性都沒有本質的區別,有一點的差異是數據倉庫的星型模型會使得維度表有一定的冗余。那么一致性體現在哪里呢: 維度共享性。共享性體現在整個平台或整個部門共用維度,而不僅僅只是單純某個業務單獨使用。 一般的維度並沒有把共享性作為一個共性的標准。然而在維度建模中,一致性維度將作為重心來做。數據倉庫70%的工作量和復雜度是用在構建一致性維度。一致性維度將作用於數據倉庫和數據集市甚至是OLAP。
When一致性維度
一致性維度的構建是先於事實表的構建的,但又不是在構建完成一致性維度之后才開始構建事實表,在構建的過程中肯定會有一定的調整。當在構建事實表的時候如果遇到了比較復雜和困難的問題的時候,也要考慮一致性維度構建的是不是合理。
Where一致性維度
90%+的維度表是直接從ODS層進行ETL建設成的,一般都是業務的基本描述信息,這一過程是在數據緩沖區來做,輸出在數據倉庫DW層的最底部。還有一些維度的信息或者屬性需要建立在數據集市的基礎上,一般是用來做分析的指標或者標簽,這個時候需要用集市層的匯總數據來打維度的標簽,比如商戶的標簽。這樣的維度信息需要回傳到原有的維度表。
How一致性維度
首先用過對業務過程進行梳理,將業務過程所攜帶的維度信息整理出來生成總線矩陣。一般情況同屬一個價值鏈的業務過程的維度信息大致相同。然后是針對每個維度逐一審核相關的業務過程,對各個業務過程的維度值進行標准化。之后是對不同的業務的維度信息進行匯總,選擇或者生成主鍵。最后設計維度表,並進行適當的迭代更新。
Why一致性維度
首先是容易管理,一致性維度不僅規范化,而且大大減少維度表的數量。其次是容易使用,同一主題或者實體的維度表單一,容易獲取和使用。所有的事實共享同樣的維度,容易進行交叉計算。
小結
也許會認為維表都是小表,隨便創建沒有關系。想想公司里面無窮無盡的維度表出現在你面前的時候,當同一個實體的名字出現在很多很多的維表中的時候,是不是感覺根本不知道這么多維表是干嘛用的,怎么來用的。
一致性維度的建設不僅能夠規范化維度模型,大大減少凌亂的維表,而且一旦建設好了一致性維度,那么后面的DW和DM層建設將游刃有余。
