數據倉庫是體系結構環境的核心,是決策支持系統處理的基礎。數據倉庫的建設中核心步驟是首先要對數據倉庫的結構進行了解、建立主題域、管控數據的粒度并對數據進行分區處理。下面我們就具體了解每一個過程。
一、數據倉庫的結構
數據倉庫環境中存在著不同的細節級:早期細節級(通常存儲在海量存儲上)、當前細節級、輕度綜合數據級(數據集市級)以及高度綜合數據級。數據倉庫的結構圖如下:
數據倉庫的數據流轉順序:
“1”數據由操作型環境導入到當前細節數據。
“2”由當前細節數據到輕度匯總數據。
“3”由輕度匯總到高度匯總數據。
如果數據已過它的生命周期,此時執行“4”將數據轉入早期細節存儲。
二、數據倉庫主題域
數據倉庫是面向高層企業數據模型,已經定義好的企業主題域。典型的主題域有:顧客、產品、交易或活動、政策、索賠、賬目。在具體項目實施中建立主題域應該遵循以下三點:
1.數據倉庫中,每一個主要主題域都是以一組相關的物理表來具體實現的。
2.某一個主題域的所有物理表通過一個公共關鍵字聯系在一起。
3.當數據圍繞主題組織時,每張物理表都有一個時間元素。
三、數據倉庫中數據的粒度
數據倉庫中數據的粒度是數據倉庫設計中最重要的問題。數據倉庫中粒度的選擇應當在清楚地知道那些體系結構部件需要從數據倉庫獲取數據的前提下進行。粒度化存在選擇高粒度級還是低粒度級是個問題,以下對兩種粒度進行了對比。
1.粒度化越低數據倉庫越靈活,但是數據量大、查詢范圍大、存儲空間大。
2.粒度化越高,丟失了細節數據,降低了數據處理量,對很多需要細節的數據分析不支持。
對比兩種方式非常低的粒度會帶來大量數據,系統最終會被巨大的數據量所壓垮。非常高的粒度雖然處理起來高效,但卻不能進行許多需要細節數據的分析。
如何在高粒度和低粒度中權衡
高低粒度的權衡非常困難,解決的方法是建立一個服務于不同類型查詢與分析的雙重粒度的多層數據倉庫,可以有效的解決數據倉庫的粒度問題。
四、數據倉庫數據的分區
數據分區是指把數據分散到可獨立處理的分離物理單元中去。管理小的物理單元將比管理大的物理單元更加靈活。
分區標準多種多樣,例如,按:時間、業務范圍、地理位置、組織單位等標準進行分區。
在數據倉庫建設中有兩種分區方法——在DBMS/操作系統層和在應用層進行分區,每一種分區方法都有各自的優缺點,通常,分區是在應用層而非系統層進行的。
五、小結
數據倉庫通常是有點及面,由個別到全部,有小到大的一個建設過程。中間會遇到性能、協調、使用等上面的各種問題,這是就需要一步一步積累經驗,優化方法。數據倉庫并非一天建成,它是一個往復的過程,一步一步的實現的。