資料倉儲中的Inmon與Kimball架構之爭

2022-04-08 07:02:56 字數 1710 閱讀 8762

對於資料倉儲體系結構的最佳問題,始終存在許多不同的看法,甚至有人把inmon和kimball之爭稱之為資料倉儲界的「宗教戰爭」,那麼本文就通過對兩位提倡的資料倉儲體系和市場流行的另一種體系做簡單描述和比較,不是為了下定義那個好,那個不好,而是讓初學者更明白兩位資料倉儲鼻祖對資料倉儲體系的見解而已。

首先,我們談inmon的企業資訊化工廠。

2023年5月,w.h.inmon在dm review雜誌上發表一篇文章,裡面寫到一句話「……如果明天非得設計乙個資料集市,我將不考慮使用其他的方法」;正是揭示了他的企業資訊化工廠的特點。下圖是關於他的企業資訊化工廠的架構圖:

我們理解一下這個體系架構,左邊是操作型系統或者事務系統,裡面包括很多種系統,有資料庫**系統,有文字檔案系統…等等。而這些系統的資料經過etl的過程,載入資料到企業資料倉儲中,etl的過程是整合不同系統的資料,經過整合,清洗和統一,因此我們可以稱之為資料整合。

企業資料倉儲是企業資訊化工廠的樞紐,是原子資料的整合倉庫,但是由於企業資料倉儲不是多維格式,因此不適合分析型應用程式,bi工具直接查詢。他的目的是將附加的資料儲存用於各種分析型系統。

資料集市,是針對不同的主題區域,從企業資料倉儲中獲取的資訊,轉換成多維格式,然後通過不同手段的聚集、計算,最後提供終端使用者分析使用,因此inmon把資訊從企業資料倉儲移動到資料集市的過程描述為「資料交付」。

接下來我們來看kimball的維度資料倉儲:

kimball的維度資料倉儲是基於維度模型建立的企業級資料倉儲,它的架構有的時候可以稱之為「匯流排體系結構」,和inmon提出的企業資訊化工廠有很多相似之處,都是考慮原子資料的整合倉庫;我們來根據下面的架構來分析他的觀點:

雖然初看兩個圖有很多不一樣的地方,但是這兩種結構有很多相似之處:一,都是假設操作型系統和分析型系統是分離的;二,資料來源(操作型系統)都是眾多;三,etl整合了多種操作型系統的資訊,集中到乙個企業資料倉儲。

當然如果去區別他們的不同,最大的不同就是企業資料倉儲的模式不同,inmon是採用第三正規化的格式,而kimball則採用了多維模型–星型模型,並且還是最低粒度的資料儲存。其次是,維度資料倉儲可以被分析系統直接訪問,當然這種訪問方式畢竟在分析過程中很少使用。最後就是資料集市的概念有邏輯上的區別,在kimball的架構中,資料集市有維度資料倉儲的高亮顯示的表的子集來表示。

當然有的時候,在kimball的架構中,有乙個可變通的設計,就是在etl的過程中加入ods層,使得ods層中能保留第三正規化的一組表來作為etl過程的過度。但是這個思想,kimball看來只是etl的過程輔助而已。另外,還可以把資料集市和企業維度資料倉儲分離開來,這樣多一層所謂的展現層(presentationlayer),這些變通的設計都是可以接受的,只要符合企業本身分析的需求。

最後一種是獨立型資料集市,來自市場的實施過程被廣泛使用,下面是獨立型資料集市的架構:特點是非常簡單,容易實現,而且實施時間段。但是最大的問題是,由於快速的實施,廉價的過程,導致長期費用的提供和效率的低下。

開發乙個獨立的資料集市是獲得可見結果的最有效的方法,因為不需要做跨部門,跨功能的分析,並且資料集市可以很快投入到生產中,因此能夠迅速和廉價地獲得結果,所以很多機構應用這種方法。而且很多erp整合商的系統中也自帶了類似的功能作為乙個賣點來吸引客戶。雖然它有很多有點,但是最致命的缺點,短期的成功卻帶來長期的棘手問題。特別是獨立型資料集市支援多主題區域時,會導致多個部門資料不一致,就是資料打架的現象。並且使得各個資料集市成為資訊孤島,缺乏相容性。因此這種方案很多時候是不可接受的。

通過本文的簡要的介紹3種體系結構,希望能幫助你準確的理解資料倉儲的體系結構和實施方法。

資料倉儲搭建 Inmon與Kimball

搞資料倉儲這麼久,實踐中發現首先搭建資料集市,還是清洗資料之後,直接進入資料立方體 形成維度表和實施表 形成核心資料倉儲層,是個選擇題.隨後發現這其實涉及到了資料倉儲的歷史問題,是採用inmon建模還是採用kimball建模?甚至有人稱之為資料倉儲界的宗教之爭。下面我說一下自己的理解 資料獲取到之後...

資料中颱與資料倉儲比較

從三個點來說 1 提供服務的物件 2 業務域 3 層次的劃分 1 提供服務的物件 a 資料倉儲的服務物件基本上是人。明細資料,聚合指標,轉化率模型,他們的目前使用者都是人 b 資料中颱的服務物件變成 人 機器。使用者標籤 機器學習模型,資料探勘模型,他們的目標是系統。比如說廣告系統,推薦系統,風控系...

資料倉儲與資料庫比較,Hive資料倉儲與資料庫比較

hive是乙個翻譯工具,將sql翻譯為底層mr程式的,它不是資料庫,只不過在表現形式上和資料庫有很多類似而已 比如表 database 欄位等 資料庫可以增刪查改,資料倉儲只可以增刪查 資料倉儲支援很大規模的資料 資料庫支援的資料規模較小 資料倉儲沒有索引,資料庫有 資料倉儲可擴充套件性強,資料庫弱...