數據倉庫

思維導圖:processon.com/view/link

1. 數據倉庫的概念

  • 操作型資料庫&決策支持數據倉庫的區別

2. 數據倉庫的體系結構

1、數倉的物理結構

圖 數據倉庫的物理結構

當前基本數據:最近時期的業務數據,數據量大,用戶關心;

當前基本數據——time—→歷史基本數據

當前基本數據——提取—→輕度綜合數據

【元數據】

元數據:整個數據倉庫的結構是由元數據來組織的。元數據不包含任何與業務相關的實際數據信息,但對數據倉庫中的各種數據進行詳細的描述和說明,所以也成為「數據的數據」。

元數據至少包含以下一些信息:數據結構、用於綜合的演算法、從業務環節到數據倉庫的規劃等。

2、數倉的系統結構

數據倉庫系統=倉庫管理+數據倉庫+分析工具

圖 數據倉庫的系統結構

數倉中的源數據來自多個數據源,一般有四個主要類別:

①生產數據 ②內部數據 ③外部數據 ④存檔數據

分析工具有以下兩類:

①可視化分析工具(OLAP) ②挖掘工具(DM)

3、數倉的數據模型

圖 多維數據模型示意圖

多維數據視圖:在有層次的維構成的多維空間中,存放著數據度量值。

所謂維的層次,是指該維度所具有的級別,如「日期維」,由高到低的層次為:年-月-日。維的最低層次由具體的業 務數據確定,而上面的層次則由分析的需要確定綜合的程度。

  • 常用的多維數據模型:

(1)星形模型

圖 星形模型

【概念-星形模型】

大多數數倉都採用星形模型。星形模型由一個事實表及多個維度表組成(類似符號*)。

事實表中存放大量關於業務的事實數據(即度量值),這些數據通常很大,且非規範化程度很高;

維度表是圍繞事實表建立的較小的表,維度表中一般存放描述性數據。

事實表有大量的行(記錄),而維度表相對來說只有較少的行(記錄)。

【星形模型的特點】

①維表和事實表用主、外鍵進行關聯,即維表的主鍵是事實表的外鍵;

②星形模型以潛在的存儲空間為代價,使用了大量的非規範化來優化速度;

③當業務問題發生變化,原來的維不能滿足要求時,就需要增加新的維。由於事實表與維表之間的主、外鍵關係,這種維的變化帶來的數據變化將是非常複雜、非常耗時的;

④星形模型的數據冗餘量很大,不適合大數據的情形。

【*Tips】

對於傳統事務性資料庫設計者而言,數據通常以高度規範化的方式建模,這樣做的目的是為了快速地對數據進行CRUD,但結果是產生了很多彼此相互關聯的表。而OLAP多維數據集是非規範化的n維結構,即人為地造成數據的冗餘,從而減少所需要的表的數量,使得對多維數據集返回查詢結果的速度要比包含許多連接事務型資料庫快很多。這也是如何將數據從規範化的事務型資料庫轉移至非規範化數據倉庫時要面對的問題。

(2)雪花模型

圖 雪花模型

雪花模型是對星形模型的規範化,通過對星形模型的維表進一步層次化,原來的各維表可能被擴展為小的事實表,形成一些局部的「層次」區域。在雪花模型中,能夠定義多重「父類」維來描述某些特殊的維表,eg.在時間維上增加了月和季度。

優點:最大限度地減少數據存儲量,以及把較小的維表聯合在一起來改善查詢性能。

缺點:增加了用戶必須處理的表的數量,也增加了某些查詢的複雜型。但這種方式可以使系統更進一步專業化和實用化,但同時也降低了系統的通用程度。


推薦閱讀:
相关文章