通俗理解數據倉庫的運行流程

本文僅爲個人觀點,適用於我所接觸到的大數據平臺

看完理解了就點個贊叭~

一、數據倉庫 DW

       數據倉庫:data warehouse,顧名思義是存放數據的地方。是爲企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。
       那麼我所接觸的產品是如何建立數據倉庫的呢?大致分爲STAGE層、ODS層、DWD、DWA、DM。

1.STAGE層
        STAGE層是數據倉庫數據的登臺層,既將各種分散來源的數據加載到數據倉庫中。Stage層中裝的都是最原始的數據,是需要進行後面處理的數據。

2.ODS層
       ODS是英文名 operation data store的縮寫。常被作爲數據倉庫的數據處理的過渡,以降低直接進行數據處理的複雜度。什麼意思呢?ODS就是把stage層中的數據進行初步的處理,因爲stage層中的數據量大且複雜,ODS按生產系統規範統一數據模型和數據編碼,同時對於數據源系統的數據質量進行稽覈,保證進入數據倉庫數據的完整性。
如何更通俗點理解呢,比如stage層中存放着“A、1、B、C、26、你好”這些分散沒有結構的數據。那麼到了ODS層中這些數據就變成了
“字母:A、B、C;
數字:1、26;
漢字:你好”
只是打個比方,具體內容不會是這樣簡單。

3.DWD層

       DWD(data warehouse detail data)是數據倉庫的細節數據層。爲企業各種分析類應用提供細節性數據支持,是企業數據倉庫的核心,同時爲未來需求的擴展提供歷史數據支持。
通俗理解:我們之前不是在ODS層中已經規範統一了數據模型和編碼了嗎,拿我們打電話的場景來說。我們在一天內可以打很多通電話,每一通電話都是一條數據。比如:
“時間:3月1號8:00;
撥打人:豬蹄;
撥打時長:3分鐘;
花費:0.5元;”
這是一條經過stage層和ODS層處理過來存放在DWD層中的數據,記住這是一條數據,我們可以打很多電話,所以有很多條類似這種結構的數據,這是都是歷史上的細節數據,各個屬性都很詳細。
在DWD中就存放了:
一:“時間:3月1號8:00;撥打人:豬蹄;撥打時長:3分鐘;花費:0.5元;”
二:“時間:3月1號9:30;撥打人:豬蹄;撥打時長:20分鐘;花費:6元;”
三:“時間:3月2號12:30;撥打人:紅燒;撥打時長:13分鐘;花費:4元;”
四:。。。。。。。。。。。。。。。。。。。。。。。。。。
五:。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。
這就是DWD需要做的事情,存放每一條細節數據。

4.DWA層
       DWA(data warehouse aggregate data),是數據倉庫的衍生彙總數據層,該層通過對DWD層數據進行預處理(輕度彙總、衍生),提高了後續數據處理和訪問性能,其特點是面向應用但不直接支持應用,將應用過程中的常用信息進行共同沉澱和處理,作爲DWD層和DM層之間的一個過渡層次,與DWD層共同構成企業級數據倉庫。
       理解:DWA層是對DWD層的進一步彙總衍生處理,繼續拿打電話的場景來說。通過彙總DWD中的每一條數據,我們可以得到這樣一條月數據:

“姓名:豬蹄;
一個月內撥打時長:89分鐘;
花費:70元;”

       這裏的數據是通過彙總統計的,那麼衍生是什麼意思呢?比如這裏可以通過一個月的話費判斷你是什麼樣的人士:一個月話費大於50元屬於高端人士,20-50屬於中端人士,低於20屬於低端人士。那麼上一條月數據就可以多了一個屬性:

“姓名:豬蹄;
一個月內撥打時長:89分鐘;
花費:70元;
屬於:高端人士;”

“姓名:紅燒;
一個月內撥打時長:15分鐘;
花費:18元;
屬於:低端人士;”

這就是衍生出來的數據。

5.DM層
       DM是data market,數據集市。這裏的DM就是面向應用了。可以理解爲應用層。DM層可以從DWA層中獲取有需要的數據,是一個面向服務的階段。我們可以利用衍生出來的數據進行精準營銷等服務。比如打電話:

“姓名:豬蹄;
一個月內撥打時長:89分鐘;
花費:70元;
屬於:高端人士;”

通過前面處理的數據,我們可以爲豬蹄先生推銷高額套餐:月租100,通話免費。
爲紅燒先生推銷廉價套餐:月租20,免費通話20分鐘。爲不同人羣提供不同服務。

以上,就是個人理解的數據倉庫的流程,歡迎評論交流。

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