數據倉庫數據庫設計方法---關系模型和多維模型比較分析


 

  數據倉庫中廣泛采用的數據庫設計模型有兩種:關系型和多維型。普遍認為在數據倉庫的設計方法中關系模型是“Inmon”方法而多維模型是“Kimball”方法。

先來看下關系模型,關系型數據以一種稱為“標准化”的形式存在。數據標准化是指數據庫設計會使數據分解成非常低的粒度級,標准化數據以一種孤立模式 存在,這種情況下對數據表里的數據關系要求很嚴格。一般遵循3NF范式。采用關系型設計的數據庫一般具有較強的靈活性和多功能性(可以支持數據的多種視 圖)。

再來看下多維模型,多維模型一般有星型模式、雪花模式、混雜模式(又叫星系模式)。多維模型設計的最大優點在於訪問的高效性。

兩種模型的區別

作為數據倉庫設計的基礎,星形連接和關系型結構兩者之間存在很多不同。最重要的區別是在靈活性和性能方面。關系模型具有高靈活性,但是對用戶來說在性能方面卻不是很理想的。多維模型在滿足用戶需求方面是非常高效的,但是靈活性不好。

另一重要區別在於設計的范圍不同。必然地,多維設計只能在有限的范圍內進行,也就是說,數據庫設計只能在一組請求過程下得到最優化。如果所有不同組請求全部加入到設計當中,最優化變得毫無意義。

當使用關系模型時,在性能方面沒有特別的優化方法。既然關系模型要求數據以最低粒度級存儲,那么就可以無限制地添加新數據。很顯然,添加數據到關系 模型永遠也不會停止。正因為這樣,關系模式適合大范圍數據(如一個企業模型),而多維模型適用於小范圍數據(如一個部門或甚至一個子部門)。

區別的起源

關系環境是通過起源數據模型設計出來的。多維模型是根據最終用戶的請求塑造的。換句話說,關系模型通過純數據模型和其他模式設計,而多維模型通過處理請求塑造。

在適用性方面:由於關系模型通過抽象數據形成,所以模型自身非常靈活。但這種靈活性,對於直接數據訪問的執行卻不是最優化的。如果想得到一個高性能的關系模型,最佳方法是從模型中抽取出數據,並重新構造一種適合於快速訪問的模式。

         多維模型在直接訪問數據方面是快速而高效的。從體系結構觀點來看,在數據倉庫設計基礎方面關系模型是更好地支持數據倉庫的模式,其原因是,數據倉庫需要根 據不同的議程和多種觀察數據的方式來支持許多不同的用戶組。也就是說,數據倉庫對於訪問已給定的用戶並不是最佳的。相反,數據倉庫可以以多種方式支持多個 不同的用戶。

關系模式,數據以最低粒度級和標准化形式存儲;關系表間的關系已經定義好並且包含一個含有外鍵的關鍵字表;新表可以對關系表中的基本數據集定義新的 匯總和篩選標准;也就是說可以很簡單以一種形式創建關系表,再以另一種形式重新塑造這些表,這樣做對於數據倉庫環境來說是非常理想的。

此外,關系模式支持將來未知的需求、支持適度變化的需求方面具有多維模型無法比擬的優勢。

因此根據上面討論過的原因可以看出:關系模型對數據倉庫是理想的基礎,而星形連接對於數據集市是最佳的。 

 

獨立集市和從屬集市的區別

獨立集市是指直接通過歷史應用創建的數據集市。建立獨立數據集市不需要有“全局思想”考慮。

與獨立數據集市相對應的是從屬數據集市。從屬數據集市是利用來自數據倉庫的數據建立的。它的數據源不依賴與歷史數據或操作型數據,只依賴於數據倉庫。總之,從屬數據集市要求有預先的計划、長期的觀察、全局的分析和企業各不同部門對需求分析的合作與協調。

建立多個獨立數據集市后,很快用戶就會發現數據集市之間的信息不統一,也不同步,而且每增加一個數據集市就會出現不斷增長的細節數據冗余的問題,需要大量的資源來建立接口程序,維護這些程序也變成了負擔。因此獨立數據集市不適合與解決企業中的信息問題。

當然,如果企業采用了從屬數據集市,並在建立任何數據集市之前先創建了一個數據倉庫,那么,獨立數據集市固有的哪些體系結構方面的問題就不會出現了。

換句話說,獨立數據集市表示的是不需要顧及全局及全景的一個短期的、有限范圍的解決方法。另一方面,從屬數據集市則要求一個長期和全局的展望。但是獨立數據集市不能為企業信息提供一個堅實的基礎,而從屬數據集市確能為信息決策提供了一個真正的長期基礎。

 

總結:數據倉庫中數據庫設計推薦采用關系模式設計方法,而數據集市推薦采用多維模型設計方法,其中數據集市推薦采用從屬型的數據集市構建方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM