一、前言
資料倉儲得建模方法同樣也有很多種,每一種建模方法其實代表了哲學上的乙個觀點,代表了一種歸 納,概括世界的一種方法。目前業界較為流行的資料倉儲的建模方法非常多,這裡主要介紹正規化建模法,維度建模法,實體建模法等幾種方法,每種方法其實從本質 上講就是從不同的角度看我們業務中的問題,不管從技術層面還是業務層面,其實代表的是哲學上的一種世界觀。我們下面給大家詳細介紹一下這些建模方法。
二、3nf正規化建模方法
正規化建模法其實是我們在構建資料模型常用的乙個方法,該方法的主要由 inmon 所提倡,主要解決關係型資料庫得資料儲存,利用的一種技術層面上的方法。目前,我們在關係型資料庫中的建模方法,大部分採用的是三正規化建模法。
正規化是資料庫邏輯模型設計的基本理論,乙個關係模型可以從第一正規化到第五正規化進行無損分解,這個過程也可稱為規範化。在資料倉儲的模型設計中目前一般採用第三正規化,它有著嚴格的數學定義。從其表達的含義來看,乙個符合第三正規化的關係必須具有以下三個條件 :
由於正規化是基於整個關係型資料庫的理論基礎之上發展而來的,因此,本人在這裡不多做介紹,有興趣的讀者可以通過閱讀相應的材料來獲得這方面的知識。
根 據 inmon 的觀點,資料倉儲模型得建設方法和業務系統的企業資料模型類似。在業務系統中,企業資料模型決定了資料的**,而企業資料模型也分為兩個層次,即主題域模 型和邏輯模型。同樣,主題域模型可以看成是業務模型的概念模型,而邏輯模型則是域模型在關係型資料庫上的例項話。
從業務資料模型轉向資料倉儲模型時,同樣也需要有資料倉儲的域模型,即概念模型,同時也存在域模型的邏輯模型。這裡,業務模型中的資料模型和資料倉儲的模型稍微有一些不同。主要區別在於:
三、維度建模
維度建模法,kimball 最先提出這一概念。其最簡單的描述就是,按照事實表,維表來構建資料倉儲,資料集市。這種方法的最被人廣泛知曉的名字就是星型模式(star-schema)。
上圖的這個架構中是典型的星型架構。星型模式之所以廣泛被使用,在於針對各個維作了大量的預處理,如按照維進行預先的統計、分類、排序等。通過這些預處理,能夠極大的提公升資料倉儲的處理能力。特別是針對 3nf 的建模方法,星型模式在效能上佔據明顯的優勢。
同時,維度建模法的另外乙個優點是,維度建模非常直觀,緊緊圍繞著業務模型,可以直觀的反映出業務模型中的業務問題。不需要經過特別的抽象處理,即可以完成維度建模。這一點也是維度建模的優勢。
但是,維度建模法的缺點也是非常明顯的,由於在構建星型模式之前需要進行大量的資料預處理,因此會導致大量的資料處理工作。而且,當業務發生變化,需要重新進行維度的定義時,往往需要重新進行維度資料的預處理。而在這些與處理過程中,往往會導致大量的資料冗餘。
另外乙個維度建模法的缺點就是,如果只是依靠單純的維度建模,不能保證資料**的一致性和準確性,而且在資料倉儲的底層,不是特別適用於維度建模的方法。
因此以筆者的觀點看,維度建模的領域主要適用與資料集市層,它的最大的作用其實是為了解決資料倉儲建模中的效能問題。維度建模很難能夠提供乙個完整地描述真實業務實體之間的複雜關係的抽象方法。
四、實體建模法
實 體建模法並不是資料倉儲建模中常見的乙個方法,它**於哲學的乙個流派。從哲學的意義上說,客觀世界應該是可以細分的,客觀世界應該可以分成由乙個個實 體,以及實體與實體之間的關係組成。那麼我們在資料倉儲的建模過程中完全可以引入這個抽象的方法,將整個業務也可以劃分成乙個個的實體,而每個實體之間的 關係,以及針對這些關係的說明就是我們資料建模需要做的工作。
雖然實體法粗看起來好像有一些抽象,其實理解起來很容易。即我們可以將任何乙個業務過程劃分成 3 個部分,實體,事件和說明,如下圖所示:
上 圖表述的是乙個抽象的含義,如果我們描述乙個簡單的事實:「小明開車去學校上學」。以這個業務事實為例,我們可以把「小明」,「學校」看成是乙個實體, 「上學」描述的是乙個業務過程,我們在這裡可以抽象為乙個具體「事件」,而「開車去」則可以看成是事件「上學」的乙個說明。
從上面的舉例我們可以了解,我們使用的抽象歸納方法其實很簡單,任何業務可以看成 3 個部分:
由 於實體建模法,能夠很輕鬆的實現業務模型的劃分,因此,在業務建模階段和領域概念建模階段,實體建模法有著廣泛的應用。從筆者的經驗來看,再沒有現成的行 業模型的情況下,我們可以採用實體建模的方法,和客戶一起理清整個業務的模型,進行領域概念模型的劃分,抽象出具體的業務概念,結合客戶的使用特點,完全 可以建立出乙個符合自己需要的資料倉儲模型來。
但是,實體建模法也有著自己先天的缺陷,由於實體說明法只是一種抽象客觀世界的方法,因此,注定了該建模方法只能侷限在業務建模和領域概念建模階段。因此,到了邏輯建模階段和物理建模階段,則是正規化建模和維度建模發揮長處的階段。
五、總結
銀行業:ibm有bdwm(banking data warehouse model);teradata有fs-ldm(financial services logical data model)。
電信業:ibm有tdwm(telecom data warehouse model);teradata有ts-ldm(telecom services logical data model)。
teradata fs-ldm7.0是乙個成熟產品,在乙個整合的模型內支援保險、銀行及**,包含十大主題:當事人、產品、協議、事件、資產、財務、機構、地域、營銷、渠道。
維度建模 資料倉儲初步
分類目錄 商業智慧型 維度建模 總目錄 本文是 維度建模 後續文章的基礎。我們首先從巨集觀層面上考察資料倉儲和商業智慧型 data warehousing and business intelligence,dw bi 系統。dw bi系統首先應該仔細考慮的問題是業務需求。維度建模 系列文章將緊緊抓...
資料倉儲 建模
粒度概述 粒度問題時設計資料倉儲的乙個最重要方面。粒度時指資料倉儲的資料單位中儲存資料的細化或綜合成都的級別。細化程度越高,粒度就越小 相反,細化程度越低,粒度級就越大。資料的粒度一直時乙個設計問題。資料倉儲環境中粒度之所以時主要的設計問題,是因為它深深地影響存放在資料倉儲中的資料量的大小。同時影響...
資料倉儲建模
一 資料倉儲建模的意義 如果把資料看作圖書館裡的書,我們希望看到它們在書架上分門別類地放置 如果把資料看作城市的建築,我們希望城市規劃布局合理 如果把資料看作電腦檔案和資料夾,我們希望按照自己的習慣有很好的資料夾組織方式,而不是糟糕混亂的桌面,經常為找乙個檔案而不知所措。資料模型就是資料組織和儲存方...