資料倉儲(5)數倉Kimball與Inmon架構的對比

張飛的豬發表於2022-03-31

資料倉儲主要有四種架構,Kimball的DW/BI架構、獨立資料集市架構、輻射狀企業資訊工廠Inmon架構、混合Inmon與Kimball架構。不過不管是那種架構,基本上都會使用到維度建模。

<b>Kimball的DW/BI架構</b>,可以參考這篇文章 資料倉儲(4)基於維度建模的KimBall架構

<b>獨立資料集市架構</b>,採用這種架構的資料倉儲,資料以部門為基礎來部署,不考慮企業級別的資訊共享和整合。也就是各個部門各自按照需要,各自在資料來源同步資料,按照各自的標準,對資料進行處理。這種實際上就是沒有架構,會造成分析資料的冗餘儲存,計算資源的浪費,會導致每一個統計部門統計口徑的不統一,也就會導致因為資料口徑不一致導致長時間的對資料。

 

 

<b>輻射狀企業資訊工廠Inmon架構</b>,資料從操作型資料來源中獲取,在ETL中進行處理,獲得的原子資料儲存在滿足第三正規化的資料庫中,這種規範化,原子資料的倉庫就是企業資訊工廠Inmon架構。Inmon架構與Kimball架構的差別之一就是,Inmon的資料倉儲是規範化的,而Kimball架構是基於維度建模的星型模型。


<b>混合Inmon與Kimball架構</b>,這種就是將Kimball與Inmon兩種架構進行嫁接,抽取過來的資料,存放在規範化的資料倉儲中,然後在這個的基礎之上抽取基於維度建模的資料展現,開發給資料分析人員等。

 

在經典的理論認為,混合Inmon與Kimball架構是最好的方式。這種方法可以將資料規範化,然後通過維度建模,以一種比較簡單的方式開發給分析人員。但是這種方式適合比較傳統的行業,或者政府單位,這種業務發展緩慢的模式,如果是網際網路企業,特別是創業型團隊,業務還在快速的迭代中,使用維度建模需要花費很長的前期準備工作,而且擴充套件性不好,使用Kimball維度建模是比較合適的。

Kimball 模式從流程上看是是自底向上的,即從資料集市到資料倉儲再到資料來源(先有資料集市再有資料倉儲)的一種敏捷開發方法。對於Kimball模式,資料來源每每是給定的若干個資料庫表,資料較為穩定可是資料之間的關聯關係比較複雜,須要從這些OLTP中產生的事務型資料結構抽取出分析型資料結構,再放入資料集市中方便下一步的BI與決策支援。所以<b>KimBall是根據需求來確定需要開發ETL哪些資料。</b>

Inmon 模式從流程上看是自頂向下的,即從資料來源到資料倉儲再到資料集市的(先有資料倉儲再有資料市場)一種瀑布流開發方法。對於Inmon模式,資料來源每每是異構的,好比從自行定義的爬蟲資料就是較為典型的一種,資料來源是根據最終目標自行定製的。這裡主要的資料處理工做集中在對異構資料的清洗,包括資料型別檢驗,資料值範圍檢驗以及其餘一些複雜規則。在這種場景下,資料沒法從stage層直接輸出到dm層,必須先經過ETL將資料的格式清洗後放入dw層,再從dw層選擇須要的資料組合輸出到dm層。在Inmon模式中,並不強調事實表和維度表的概念,由於資料來源變化的可能性較大,須要更增強調資料的清洗工做,從中抽取實體-關係。immon是將<b>整個資料倉儲規劃好,統一按照正規化建模進行開發</b>。

下面是兩種架構的優劣比較。

 

> 參考文章: 資料倉儲(5)數倉Kimball與Inmon架構的對比

相關文章