全方位解讀星型模型,雪花模型及星座模型

2021-10-09 10:32:13 字數 1188 閱讀 1695

​1背景

在多維分析的商業智慧型解決方案中,根據事實表和維度表的關係,又可將常見的模型分為星型模型,雪花型模型及星座模型。在設計邏輯型資料的模型的時候,就應考慮資料是按照星型模型,雪花型模型還是星座模型進行組織。

2星型模型

星形模型中有一張事實表,以及零個或多個維度表,事實表與維度表通過主鍵外來鍵相關聯,維度表之間沒有關聯,當所有維表都直接連線到「 事實表」上時,整個**就像星星一樣,故將該模型稱為星型模型。星形模型是最簡單,也是最常用的模型。由於星形模型只有一張大表,因此它相比於其他模型更適合於大資料處理。其他模型可以通過一定的轉換,變為星形模型。

星型架構是一種非正規化的結構,多維資料集的每乙個維度都直接與事實表相連線,不存在漸變維度,所以資料有一定的冗餘,如在地域維度表中,存在國家 a 省 b 的城市 c 以及國家 a 省 b 的城市 d 兩條記錄,那麼國家 a 和省 b 的資訊分別儲存了兩次,即存在冗餘。

3雪花模型

當有乙個或多個維表沒有直接連線到事實表上,而是通過其他維表連線到事實表上時,其**就像多個雪花連線在一起,故稱雪花模型。雪花模型是對星型模型的擴充套件。它對星型模型的維表進一步層次化,原有的各維表可能被擴充套件為小的維度表,形成一些區域性的 " 層次 " 區域,這些被分解的表都連線到主維度表而不是事實表。如圖,將地域維表又分解為國家,省份,城市等維表。它的優點是 : 通過最大限度地減少資料儲存量以及聯合較小的維表來改善查詢效能。雪花型結構去除了資料冗餘。

4星座模型

星座模型是由星型模型延伸而來,星型模型是基於一張事實表而星座模式是基於多張事實表,並且共享維度表資訊,這種模型往往應用於資料關係比星型模型和雪花模型更複雜的場合。星座模型需要多個事實表共享維度表,因而可以視為星形模型的集合,故亦被稱為星系模型

5對比

6總結

通過對比,我們可以發現資料倉儲大多數時候是比較適合使用星型模型構建底層資料hive表,通過大量的冗餘來減少表查詢的次數從而提公升查詢效率,星型模型對olap的分析引擎支援比較友好,這一點在kylin中比較能體現。而雪花模型在關係型資料庫中如mysql,oracle中非常常見,尤其像電商的資料庫表。在資料倉儲中雪花模型和星座模型的應用場景比較少,但也不是沒有,所以在具體設計的時候,可以考慮是不是能結合兩者的優點參與設計,以此達到設計的最優化目的。

星型模型 vs 雪花型模型

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

星型模型 與 雪花模型

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

星型模型和雪花模型

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