數(shù)據(jù)倉庫架構

數(shù)據(jù)倉庫架構

為了滿足技術期望,數(shù)據(jù)倉庫工程師可以使用各種架構來構建數(shù)據(jù)倉庫。常見的數(shù)據(jù)倉庫架構是基于分層方法的,這在信息系統(tǒng)中很常見。下面將描述其中的兩個典型數(shù)據(jù)架構。

兩層數(shù)倉架構

Kimball引入了一種常用的雙層結構。在這個架構中(如圖1.3所示),數(shù)據(jù)倉庫系統(tǒng)本身只有兩層。

兩層數(shù)倉架構

圖 1.3 兩層數(shù)倉架構

來自源系統(tǒng)的原始數(shù)據(jù)被加載到集結區(qū)。目標是擁有應該加載到數(shù)據(jù)倉庫中的所有數(shù)據(jù)的精確副本。集結區(qū)的主要目的是減少源系統(tǒng)上的操作數(shù)量和從源系統(tǒng)中提取數(shù)據(jù)的時間。集結區(qū)中的表是按照源系統(tǒng)中的表建模的。當轉換很復雜并且不能即時執(zhí)行時,或者當數(shù)據(jù)在不同的時間從多個源系統(tǒng)到達時,需要一個集結區(qū)。

一旦數(shù)據(jù)被加載到集結區(qū)Kimball建議將數(shù)據(jù)加載到數(shù)據(jù)倉庫中。該數(shù)據(jù)倉庫是按照維度模型建模的,由數(shù)據(jù)集市(表示業(yè)務流程)組成。
1996年,Kimball首次提出這一建議。維度模型是一個事實上的標準,業(yè)務用戶和分析工具(如OLAP前端或引擎)可以很容易地查詢它。因為它是符合標準的數(shù)據(jù)集市的邏輯關聯(lián),所以必須在數(shù)據(jù)倉庫層之前實現(xiàn)業(yè)務規(guī)則,以便符合和對齊數(shù)據(jù)集。我們將在第7章“維度建模”中討論維度建模。數(shù)據(jù)訪問應用程序使用維度模型向用戶顯示信息,并允許進行專門的分析。

兩層數(shù)倉架構的優(yōu)點是,與其他架構相比,從源數(shù)據(jù)構建維度存儲很容易。但是,缺點是從相同的源數(shù)據(jù)構建第二個維度模型更為復雜,因為需要從集結區(qū)中再次加載數(shù)據(jù),而且無法重用現(xiàn)有的ETL工作流。

三層數(shù)倉架構

為了克服兩層數(shù)倉架構的局限性,另一個常見的數(shù)倉架構是基于三層的(圖1.4)。


三層數(shù)倉架構

圖 1.4 三層數(shù)倉架構

該架構由Inmon引入,并引入了原子數(shù)據(jù)倉庫,通常是集結區(qū)維度模型之間的規(guī)范化業(yè)務數(shù)據(jù)存儲(ODS)。此架構中的集結區(qū)遵循兩層數(shù)倉架構。然而,數(shù)據(jù)倉庫持有以三范式規(guī)范建模的原始數(shù)據(jù)。它集成了企業(yè)的所有數(shù)據(jù),但仍然基于來自源系統(tǒng)的物理表。通過這樣做,它的行為類似于一個大型業(yè)務數(shù)據(jù)庫。

在業(yè)務數(shù)據(jù)的規(guī)范化視圖之上,有一個維度模型。業(yè)務用戶可以使用面向主題的數(shù)據(jù)集市(類似于兩層數(shù)倉架構)訪問和分析數(shù)據(jù)。但是,從業(yè)務數(shù)據(jù)存儲中可用的數(shù)據(jù)創(chuàng)建新的數(shù)據(jù)集市要容易得多,因為數(shù)據(jù)已經被清洗和集成了。因此,構建新的數(shù)據(jù)集市不需要進行數(shù)據(jù)清洗和集成。在實踐中,2層的數(shù)據(jù)倉庫通常有多個數(shù)據(jù)集市,通過向用戶提供不同的主題域來滿足不同用戶組的需求。
然而,它更復雜,需要更多的數(shù)據(jù)處理來構建整個數(shù)據(jù)倉庫,包括業(yè)務數(shù)據(jù)存儲依賴數(shù)據(jù)集市。另一個問題是,如果許多數(shù)據(jù)集市依賴于業(yè)務性數(shù)據(jù)存儲,那么對數(shù)據(jù)模型的更改可能成為一種負擔。在下篇文章中,我們將討論一種替代的三層架構,以支持對數(shù)據(jù)倉庫進行更快的更改。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容