數據倉庫 Inmon與Kimball數倉理論對比

Kimball和Inmon是兩種主流的數據倉庫方法論,分別由 Ralph Kimbal大神 和 Bill Inmon大神提出,在實際數據倉庫建設中,業界往往會相互借鑑使用兩種開發模式

Inmon和Kimball是數據倉庫領域偉大的開拓者,他們均多年從事數據倉庫的研究,Inmon還被稱爲“數據倉庫之父”。Inmon的《數據倉庫》和Kimball的《數據倉庫工具箱》都是此領域的經典之作。後來人把這兩人的數據倉庫思想總結爲“Inmon理論”和“Kimball理論”。他們的思想有共同點,也有不同點。

什麼是數據倉庫:數據倉庫之父 Inmon的經典定義如下:數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。


1. 共同點
(1)均極力推崇數據倉庫,認爲從OLTP到BI分析之間建立數據倉庫是很有必要的;
(2)均認爲數據倉庫的建立需要從企業整體角度出發,迭代開發,儘量避免按部門建立獨立的數據倉庫;
(3)數據進入數據倉庫之前,需要經過ETL整合。

2. 不同點
Inmon理論
(1)數倉概念:數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support);
(2)自上而下按照主題建立數據倉庫,如按照客戶、供應商、產品等建立不同的主題。開發過程中每次增加一個主題;
(3)當建立的數據集市是跨多個主題的,需要以整合好的主題數據爲基礎。

Kimball理論
(1)自下而上,維度建模;
(2)先按照業務主線建立最小粒度的事實表,再建立維度表,形成數據集市,通過“一致維度”能夠共同看到不同數據集市的信息

 

1.什麼是Kimball


1.1 概念


Kimball 模式從流程上看是是自底向上的,即從數據集市到數據倉庫再到數據源(先有數據集市再有數據倉庫)的一種敏捷開發方法。對於Kimball模式,數據源往往是給定的若干個數據庫表,數據較爲穩定但是數據之間的關聯關係比較複雜,需要從這些OLTP中產生的事務型數據結構抽取出分析型數據結構,再放入數據集市中方便下一步的BI與決策支持。

1.2 流程


通常,Kimball都是以最終任務爲導向。首先,在得到數據後需要先做數據的探索,嘗試將數據按照目標先拆分出不同的表需求。其次,在明確數據依賴後將各個任務再通過ETL由Stage層轉化到DM層。這裏DM層數據則由若干個事實表和維度表組成。接着,在完成DM層的事實表維度表拆分後,數據集市一方面可以直接向BI環節輸出數據了,另一方面可以先DW層輸出數據,方便後續的多維分析。

Kimball支持數據倉庫總線結構,提倡維度建模,以星型模型或是雪花模型等方式構建維度數據倉庫。架構體系中,數據集市於維度數據倉庫是緊密結合的,數據集市是數據倉庫中一個邏輯上的主題域。各種前端工具將可以直接訪問使用維度數據倉庫。
 

Kimball往往意味着快速交付、敏捷迭代,不會對數據倉庫架構做過多複雜的設計,在變換莫測的互聯網行業,這種架構方式逐漸成爲一種主流範式。

2. 什麼是Inmon

 


2.1 概念


Inmon 模式從流程上看是自頂向下的,即從數據源到數據倉庫再到數據集市的(先有數據倉庫再有數據市場)一種瀑布流開發方法。對於Inmon模式,數據源往往是異構的,比如從自行定義的爬蟲數據就是較爲典型的一種,數據源是根據最終目標自行定製的。這裏主要的數據處理工作集中在對異構數據的清洗,包括數據類型檢驗,數據值範圍檢驗以及其他一些複雜規則。在這種場景下,數據無法從stage層直接輸出到dm層,必須先通過ETL將數據的格式清洗後放入dw層,再從dw層選擇需要的數據組合輸出到dm層。在Inmon模式中,並不強調事實表和維度表的概念,因爲數據源變化的可能性較大,需要更加強調數據的清洗工作,從中抽取實體-關係。

2.2 流程


通常,Inmon都是以數據源頭爲導向。首先,需要探索性地去獲取儘量符合預期的數據,嘗試將數據按照預期劃分爲不同的表需求。其次,明確數據的清洗規則後將各個任務通過ETL由Stage層轉化到DW層,這裏DW層通常涉及到較多的UDF開發,將數據抽象爲實體-關係模型。接着,在完成DW的數據治理之後,可以將數據輸出到數據集市中做基本的數據組合。最後,將數據集市中的數據輸出到BI系統中去輔助具體業務。
 

 

3.Kimball VS Inmon 優劣比較

Kimball方式對團隊技術水平要求不太高,更易於實現,從小型的主題域數據集市建設起,但在逐步建設過程中,聯合維度數據倉庫的一致性較難控制,適用於戰術層級的規劃,或是有迫切的目標需要實現。
  Inmon的方式,規範性較好,數據集成和數據一致性方面得到處理,適用於較爲大型的企業級、戰略級的規劃。但對團隊的要求較高,且實現週期較長、成本高昂。具體可根據企業的規模、項目規劃、預算、團隊等角度進行綜合考慮。

特性 Kimball Inmon
時間 快速交付 路漫漫其修遠兮
開發難度
維護難度
技能要求 入門級 專家級
數據要求 特定業務 企業級

4.特徵對比

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章