今天這篇文章,給大家講述一下數據倉庫的架構模式,作為我們一起探討的內容。希望大家留言、評論,我們一起學習。
一 說到數據倉庫,那么我們先來了解一下數據倉庫的基本概念。
數據倉庫,英文名稱為Data Warehouse,可簡寫為DW或DWH。數據倉庫,是為企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。通俗一點說就是,數據倉庫就是集合了各源系統的數據,同時對數據進行ETL,并最終作為數據服務方,對外提供數據服務。
二 我們了解了數據倉庫的基本概念,也清楚了數據倉庫的作用,那么我們在實際工作中,數據倉庫究竟是什么樣的呢?以我的工作為例,我是從事在銀行業,經歷過各種不同類型的銀行,但是數據倉庫的模式大體相同。那讓我們來看下數據倉庫都是包含哪些東西吧。
首先,我們來看下數據倉庫整體架構。

通過這張圖,我們可以清楚地看到,數據倉庫從橫向上可以分為幾個模塊:
源數據層----數據交換層----數據集成層-----數據服務層-----數據交換層-----數據應用層----用戶
下面我們逐個簡單說下每一層的概念。
1 源數據層:源數據層就是指源系統的數據,數據類型包括結構化數據(按照方式存儲的數據),半結構化和非結構化數據(一般是互聯網行為數據、語音、影像等數據)。
2數據交換層:主要是指通過數據交換平臺,將源系統的數據(源系統的數據一般是以文件的形式傳輸到數據倉庫)抽取轉換,由原來的數據文件,通過數據庫解析,并最終進入到數據倉庫ODS層。
3 數據集成層:數據集成層包括了ODS,DWD,DWS,BDM,ADM
ODS:數據倉庫中最底層數據,基本上都是在源系統的數據基礎上,增加一個數據日期字段,先存儲到貼源層對對應的數據表中,然后通過數據倉庫拉鏈技術,進行數據拉鏈式存儲。
關于拉鏈技術,請參考上篇文章進行了解。
https://m.toutiao.com/is/JH2YRUX/
DWD:明細數據層,是業務層與數據倉庫的隔離層,這一層主要是用來解決數據質量的問題,比如有的數據有空格,回車,或者數據不完整等。
DWS:數據匯總層,該層主要是按照不同的主題緯度,進行數據匯總冗余。主題緯度一般分為:產品緯度,賬戶緯度,渠道緯度,協議緯度等,數據表一般是寬表的形式,即將各緯度的數據盡可能多的存儲到一張表里,這樣在查詢的時候就不用關聯其他表了。
BDM:應用層,這一層主要是用來為下游應用產生個性化,定制化數據。一般也是按照各主題域進行劃分,如客戶主題、風險主題、交易主題、資產主題等,這一層也會有一些模型工廠,即通過模型工具定期執行產生的模型預測類數據。
注:應用層在一些銀行的數據倉庫里是沒有的。直接從DWS到ADM 層了。
ADM:集市層,也可以理解為一個小型數據倉庫,比數據倉庫數據粒度更細化,更加面向應用需求。現在我接觸的數據集市主要有個人集市、對公集市、風險集市、營銷集市。現在有些數據集市是作為一個單獨模塊拿出來獨立運營,有些數據集市還是會放到數據倉庫或者大數據平臺中。但是集市層的數據源都是數據倉庫或者直接是源系統。
數據集市可以和數據倉庫并行,數據集市的數據源來自數據倉庫和源系統。也可以和數據倉庫串行,數據源來自于數據倉庫。看每個行的具體情況而定。下面我會寫一篇文章來簡單聊一下個人客戶集市的建設。
4 數據服務層:通過對數據集市數據進行二次加工分析,形成對外服務輸出數據,直接通過數據交換平臺,輸出到各應用系統。
5 數據應用層:主要是通過解析數據服務層數據,并寫入到應用系統數據庫,供業務人員使用。
三 總結一下
數據倉庫就是將源系統的數據進行抽取,轉換,加工,按照不同緯度、主題形成面向業務的數據,然后通過一定的數據接口提供給各業務系統。
數據倉庫主要包括。ODS,DWD,DWS,ADM。
ODS:貼源層
DWD:明細層
DWS:匯總層
ADM:集市層
好了,這篇文章就給大家寫到這里了,希望大家留言、評論。我們一起探討,學習。大家喜歡的,可以點個關注 ,我會不定期更新文章,將自己的經驗分享出來。