數據庫有三級模型的概念,在這裏,數據倉庫也是有着三級模型而且是有着類似的思路。數據庫
1.概念模型架構
「信息世界」中的信息結構,也經常借用關係數據庫設計中的E-R方法,不過在數據倉庫的設計是以主題替代實體。數據庫設計
根據業務的範圍和使用來劃分主題工具
劃分的方法是首先要肯定系統邊界,包括瞭解決策者需求(關注點),需求類型。經過對業務系統的詳細說明,肯定數據覆蓋範圍,對數據進行梳理,列出數據主題詳細的清單,瞭解源數據情況。性能
對每一個數據主題都做出詳細的解釋,而後通過概括、分類,整理成各個數據主題域,肯定系統包含的主題。列出每一個數據主題域包含哪些部分,並對每一個數據主題域做出詳細的解釋,最後劃分紅主題域概念模型。spa
2.邏輯模型設計
邏輯模型的設計是數據倉庫實施中最重要的一步,由於它直接反映了數據分析部門的實際需求和業務規則,同時對物理模型的設計和實現具備指導做用。它的特色就是經過實體和實體之間的關係勾勒出整個企業的數據藍圖和規劃。邏輯模型通常遵循第三範式,與概念模型不一樣,它主要關注細節性的業務規則,同時須要解決每一個主題包含哪些概念範疇和跨主題域的繼承和共享的問題。3d
根據需求列出須要分析的主題,需求目標緯度指標,緯度層次分析的指標,分析的方法、數據來源等blog
對於一些緯度存在層次問題,好比說產品存在產品的類別,產品的子類別以及具體的產品繼承
在邏輯模型設計中須要考慮粒度層次的劃分。數據倉庫的粒度層次劃分直接影響了數據倉庫模型的設計,一般細粒度的數據模型直接從企業模型選取實體做爲邏輯模型的實體,而粗粒度的數據模型須要通過彙總計算獲得相應的實體。粒度決定企業數據倉庫的實現方式、性能、靈活性和數據倉庫的數據量。
粒度指的是描述數據的綜合程度。粒度規定了數據倉庫潛在的能力和靈活性,若是沒有粒度級別的變化,數據倉庫將不能回答須要低於所採用細節級的問題。同時,粒度級別是數據庫規模的主要決定因素之一,對操做的開銷及性能都有顯著影響。
數據粒度越小,信息越細,數據量越大;顆粒粒度越大就忽略了衆多的細節,數據量越小。
3.物理模型
將邏輯模型轉變爲物理模型包括如下幾個步驟:
(1)實體名(Entity) 轉變爲表名(Table)。
(2)屬性名(Attribute) 轉換爲列名(Column) ,肯定列的屬性(Property) 。
(3)肯定表之間鏈接主鍵和外鍵屬性或屬性組。
在物理模型設計中同時要考慮數據的存儲結構、存取時間、存儲空間利用率、維護代價等。根據數據的重要程度、使用頻率和響應時間將數據分類,不一樣類數據分別存放在不一樣存儲設備中,重要性高、常常存取並對反應時間要求高的數據存放在高速存儲設備上:存取頻率低或對存取響應時間要求低的數據能夠存放在低速存儲設備上。根據數據量設定存儲塊、緩衝區大小和個數。
兩大類物理模型
數據倉庫的的數據模型相對數據庫更簡單一些,根據事實表和維度表的關係,主要有星形結構模型和雪花型結構模型兩種。
當全部維表都直接鏈接到「事實表」上時,整個圖解就像星星同樣,故將該模型稱爲星型模型。
星型架構是一種非規範化的結構,多維數據集的每個維度都直接與事實表相鏈接,因此數據有必定的冗餘,如在商店維度表中,存在省A的城市B以及省A的城市C兩條記錄,那麼省A的信息分別存儲了兩次,即存在冗餘。
雪花型架構相對於星形架構的優勢是,可以直接利用現有的數據庫建模工具進行建模,提升工做效率;之後對維度表的變動會更加靈活,而星形結構會牽涉到大量的數據更新:因爲不存在數據冗餘,所以數據的裝載速度會更快。雪花型架構經過去除了數據冗餘,經過最大限度地減小數據存儲量以及聯合較小的維表來改善查詢性能。