維度模型資料倉儲(二) 維度模型基礎

2021-07-06 07:37:00 字數 2075 閱讀 5548

(一)維度模型基礎

既然維度模型是資料倉儲建設中的一種資料建模方法,那不妨先看一下幾種主流的資料倉儲架構。

1. kimball的dw/bi架構

圖(一)- 1

2. inmon企業資訊工廠架構

圖(一)- 2

3. 混合型架構

圖(一)- 3

從圖中可以看出,每種架構中都有資料集市。資料集市就是面向終端使用者的資料庫。資料集市通常使用維度模型來建模,並根據報表和分析的需求而優化。kimball和inmon架構最大的區別就是是否需要乙個企業級的資料倉儲(edw)。inmon架構中有edw,kimball架構中沒有。edw本質上就是乙個大的資料倉儲,包括了從企業各個資料來源整合過來的所有的歷史資料。edw不能由終端使用者直接訪問,僅用來儲存和報表相關的,用於審計的各種歷史資料。inmon認為edw位於業務系統和資料集市之間,也是資料集市的唯一資料**。至於混合型架構則是結合了kimball與inmon架構的產物。

以上這些方**的東西簡單描述了幾種資料倉儲總體架構的異同之處。除了架構層面,還有兩種主要的建模方法,即規範化模型和維度模型。規範化模型用於edw建模,而維度模型用於資料集市建模。規範化模型對於資料庫設計者來說非常熟悉,通常業務資料庫、oltp系統都採用規範化模型。簡單地說,1nf就是消除重複元組,並保持列的原子性,具體到資料庫設計上就是每個表都要有乙個主鍵來唯一標識一行記錄。2nf就是在1nf的基礎上消除了部分依賴,即非鍵屬性必須完全依賴於主鍵。3nf在2nf基礎上消除了傳遞依賴,即非鍵屬性只能完全依賴於主鍵。一般資料庫設計需要滿足3nf。在《構建oracle高可用環境》這本書裡有乙個很好的例子講述資料庫正規化設計。而對於維度模型最簡單的描述就是,按照事實表、維度表來構建資料倉儲、資料集市。這種方法被人們熟知的有星型模式和雪花模式。

星型模式是部署在關聯式資料庫管理系統之上的多維結構,主要包含事實表,以及通過主鍵/外來鍵關係與之關聯的維度表。在星型模式實施中,所有維度級別的維度資料儲存在單個表或檢視中。雪花模就是將維度層次進一步規範化為子維度。在雪花模式實施中,使用多個表或檢視來儲存維度資料。單獨的資料庫表或檢視儲存與維中每個級別相關的資料。

看一下以上星型模式的定義,問題來了:既然事實表與維度表也是以主鍵/外來鍵的方式相互關聯,換句話說,3nf和維度模型都能用實體/關係圖(erd)表示,那麼兩者的根本區別是什麼呢?答案就是:3nf的本質是消除資料冗餘,那麼維度模型與其根本區別就是資料冗餘程度不同。隨著規範化程度的提高,必然會使得表和表之間的關係越來越多。而維度模型雖然常應用在關聯式資料庫管理系統之上,但是並不要求必須滿足3nf,也就是說維度模型允許可控的資料冗餘。這樣做簡少了表和表間關係的數量,同時提高了查詢速度。下面引用《資料倉儲設計》書中的乙個例子,進一步說明3nf與維度模型的差異。

圖(一)- 4 

左邊是乙個銷售訂單的典型的規範化表示。訂單(order)實體描述有關訂單文件的資訊,訂單明細(order line)實體描述有關訂單明細的資訊,兩個實體都包含描述訂單和它的狀態的資訊。右邊是乙個訂單狀態維(order status dimension),該維描述與訂單和訂單明細中對應的狀態編碼值的唯一組合。它包括在實體模型的訂單和訂單明細實體中都出現的屬性。當銷售訂單事實行被裝載時,參照在訂單狀態維中的適合的狀態編碼的組合設定它的外來鍵。

維設計的整體觀點是要簡化和加速查詢。例如,假設有100萬訂單,每個訂單有10條明細,訂單狀態和訂單明細狀態各有10種。如果使用者要查詢某種狀態特性的訂單,按3nf模型,邏輯上需要關聯100萬與1000萬的兩個大表,然後過濾兩個表的狀態值得到所要的結果。另一方面,事實表(圖中並沒有畫出)按最細資料粒度有1000萬記錄,3nf裡的訂單表屬性在事實表裡是冗餘資料,狀態維度有100條資料,只需要關聯1000萬與100的兩個表,再進行狀態過濾即可。

資料倉儲(五)維度模型設計的4步過程

業務過程室友組織完成的微觀活動。例如獲得訂單,開具發票,接受付款 註冊學生 處理索賠等。業務過程包含以下公共特徵,理解他們有助於區分組織中不同的業務過程 您需要仔細了解業務以區分組織的業務過程,因為商業使用者難以快速回答下列問題他們對哪些業務過程感興趣,使用者希望在dw bi系統中分析來自業務過程的...

千億級數倉》資料倉儲維度模型設計

2 維度建模三種模式 資料倉儲分層架構 維度模型是資料倉儲領域大師ralph kimall所倡導,他的 資料倉儲工具箱 是資料倉儲工程領域最流行的數倉建模經典。維度建模以分析決策的需求出發構建模型,構建的資料模型為分析需求服務,因此它重點解決使用者如何更快速完成分析需求,同時還有較好的大規模複雜查詢...

維度模型資料倉儲基礎物件概念一覽

一 度量 指標 指標器 度量和維度構成olap的主要概念,對於在事實表或者乙個多維立方體裡面存放的數值型的 連續的字段,就是度量。這符合上面的意思,有標準,乙個度量字段肯定是統一單位,例如元 戶數。如果乙個度量字段,其中的度量值可能是歐元又有可能是美元,那這個度量沒法彙總。在olap中還有計算度量的...