1. 程式人生 > >三個例子,讓你看懂資料倉庫多維資料模型的設計

三個例子,讓你看懂資料倉庫多維資料模型的設計

一、概述

  多維資料模型是最流行的資料倉庫的資料模型,多維資料模型最典型的資料模式包括星型模式、雪花模式和事實星座模式,本文以例項方式展示三者的模式和區別。

二、星型模式(star schema)

  星型模式的核心是一個大的中心表(事實表),一組小的附屬表(維表)。星型模式示例如下所示:

三、雪花模式(snowflake schema)

  雪花模式是星型模式的擴充套件,其中某些維表被規範化,進一步分解到附加表(維表)中。雪花模式示例如下圖所示:

從圖中我們可以看到地址表被進一步細分出了城市(city)維。supplier_type表被進一步細分出來supplier維。

四、事實星座模式(Fact Constellation)或星系模式(galaxy schema)

  資料倉庫由多個主題構成,包含多個事實表,而維表是公共的,可以共享,這種模式可以看做星型模式的彙集,因而稱作星系模式或者事實星座模式。本模式示例如下圖所示:

如上圖所示,事實星座模式包含兩個事實表:sales和shipping,二者共享維表。

五、總結

  事實星座模式是資料倉庫最長使用的資料模式,尤其是企業級資料倉庫(EDW)。這也是資料倉庫區別於資料集市的一個典型的特徵,從根本上而言,資料倉庫資料模型的模式更多是為了避免冗餘和資料複用,套用現成的模式,是設計資料倉庫最合理的選擇。當然大資料技術體系下,資料倉庫資料模型的設計,還是一個盲點,探索中。