資料倉儲系列 星型模型和雪花型模型

2021-10-14 13:55:51 字數 1186 閱讀 7358

資料倉儲建模包含了幾種資料建模技術,最常用的是:維度建模技術

維度建模的基本概念: 維度建模(dimensional modeling)是專門用於分析型資料庫、資料倉儲、資料集市建模的方法。它本身屬於一種關係建模方法

星型模型:是一種多維的資料關係,它由乙個事實表(fact table)和一組維表(dimension table)組成。每個維表都有乙個維作為主鍵,所有這些維的主鍵組合成事實表的主鍵。事實表的非主鍵屬性稱為事實(fact),它們一般都是數值或其他可以進行計算的資料;如下圖:

星型模型

星型架構是一種非正規化的結構,多維資料集的每乙個維度都直接與事實表相連線,所以資料有一定的冗餘

雪花型模型:是星型模式的變種,其中某些維表是規範化(將冗餘欄位用新的表來表示)的,因而把資料進一步分解到附加表中,結果,模式圖形成類似於雪花的形狀。

雪花模型是對星型模型的擴充套件。它對星型模型的維表進一步層次化,原有的各維表可能被擴充套件為小的事實表,形成一些區域性的 "層次 " 區域,這些被分解的表都連線到主維度表而不是事實表。

雪花型模型

通過最大限度地減少資料儲存量以及聯合較小的維表來改善查詢效能。雪花型結構去除了資料冗餘。

星型模型和雪花模型的對比,可以從以下四個角度來對比。

在oltp-dw環節,由於雪花型要做多個表聯接,效能會低於星型架構;但從dw-olap環節,由於雪花型架構更有利於度量值的聚合,因此效能要高於星型架構。

星型架構更簡單方便處理

雪花型架構更加貼近oltp系統的結構,比較符合業務邏輯,層次比較清晰。

雪花型架構具有關係資料模型的所有優點,不會產生冗餘資料,而相比之下星型架構會產生資料冗餘。

根據專案經驗,一般建議使用星型模型。因為在實際專案中,往往最關注的是查詢效能問題,至於磁碟空間一般都不是問題。當然,在維度表資料量極大,需要節省儲存空間的情況下,或者是業務邏輯比較複雜、必須要體現清晰的層次概念情況下,可以使用雪花型模型。

資料倉儲的星型模型和雪花模型

在多維分析的商業智慧型解決方案中,根據事實表和維度表的關係,又可將常見的模型分為星型模型和雪花型模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型還是雪花型模型進行組織。當所有維表都直接連線到 事實表 上時,整個 就像星星一樣,故將該模型稱為星型模型,如圖 1 星型架構是一種非正規化的結...

資料倉儲星型模型VS雪花模型

在多維分析的商業智慧型解決方案中,根據事實表和維度表的關係,可將常見的模型分為星型模型和雪花模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型還是雪花模型進行組織。當所有維表都直接連線到事實表上時,整個 就像星星一樣,故將該模型稱為星型模型。星型架構是一種非正規化的結構,多維資料集的每乙...

理解資料倉儲中星型模型和雪花模型

在資料倉儲的建設中,一般都會圍繞著星型模型和雪花模型來設計表關係或者結構。下面我們先來理解這兩種模型的概念。一 星型模型圖示如下 img 星型模是一種多維的資料關係,它由乙個事實表和一組維表組成。每個維表都有乙個維作為主鍵,所有這些維的主鍵組合成事實表的主鍵。強調的是對維度進行預處理,將多個維度集合...