數(shù)倉分層介紹
@
數(shù)倉分層的意義是什么?
- 作為一名數(shù)據(jù)的規(guī)劃者,我們肯定希望自己的數(shù)據(jù)能夠有秩序地流轉(zhuǎn),數(shù)據(jù)的整個生命周期能夠清晰明確被設(shè)計者和使用者感知到。直觀來講就是如圖這般層次清晰、依賴關(guān)系直觀。
但是,大多數(shù)情況下,我們完成的數(shù)據(jù)體系卻是依賴復(fù)雜、層級混亂的。如下的圖,在不知不覺的情況下,我們可能會做出一套表依賴結(jié)構(gòu)混亂,甚至出現(xiàn)循環(huán)依賴的數(shù)據(jù)體系。
![在這里插入圖片描述]()
因此,我們需要一套行之有效的數(shù)據(jù)組織和管理方法來讓我們的數(shù)據(jù)體系更有序,這就是談到的數(shù)據(jù)分層。數(shù)據(jù)分層并不能解決所有的數(shù)據(jù)問題,但是,數(shù)據(jù)分層卻可以給我們帶來如下的好處:
- 清晰數(shù)據(jù)結(jié)構(gòu):每一個數(shù)據(jù)分層都有它的作用域和職責(zé),在使用表的時候能更方便地定位和理解。
- 復(fù)雜問題簡單化:將一個復(fù)雜的任務(wù)分解成多個步驟來完成,每一層解決特定的問題。
- 便于維護(hù):當(dāng)數(shù)據(jù)出現(xiàn)問題之后,可以不用修復(fù)所有的數(shù)據(jù),只需要從有問題的步驟開始修復(fù)。
- 減少重復(fù)開發(fā):規(guī)范數(shù)據(jù)分層,開發(fā)一些通用的中間層數(shù)據(jù),能夠減少重復(fù)開發(fā)的工作量。
- 高性能:數(shù)據(jù)倉庫的構(gòu)建將大大縮短獲取信息的時間,數(shù)據(jù)倉庫作為數(shù)據(jù)的集合,所有的信息都可以從數(shù)據(jù)倉庫直接獲取,尤其對于海量數(shù)據(jù)的關(guān)聯(lián)查詢和復(fù)雜查詢,所以數(shù)據(jù)倉庫分層有利于實現(xiàn)復(fù)雜的統(tǒng)計需求,提高數(shù)據(jù)統(tǒng)計的效率。
分層本質(zhì)上是人為劃分操作, 可以將某幾個庫或者某幾個表劃分在各個層次中, 分層主要的目的: 明確各個層次作用(任務(wù)分工) 利用后續(xù)維護(hù)工作與分工
常見的數(shù)據(jù)分層

ODS層: 源數(shù)據(jù)層
- 作用: 對接數(shù)據(jù)源, 用于將數(shù)據(jù)源中數(shù)據(jù)采集到ODS層, 會和數(shù)據(jù)源保持相同粒度(將數(shù)據(jù)源中數(shù)據(jù)完整拷貝到ODS層)
- 注意: 在生產(chǎn)中, 有可能會出現(xiàn)在ODS層之前, 會對數(shù)據(jù)進(jìn)行預(yù)處理操作
- 比如, 加載的數(shù)據(jù)是來自于文本或者CSV格式數(shù)據(jù)...
DW層: 數(shù)據(jù)倉庫層(也叫作集團(tuán)數(shù)據(jù)中心)
- 作用: 對數(shù)據(jù)進(jìn)行統(tǒng)計分析操作, 構(gòu)建統(tǒng)一寬表統(tǒng)計結(jié)果數(shù)據(jù), 數(shù)據(jù)來源于ODS層
- 注意: 此層主要會根據(jù)分析主題, 形成主題統(tǒng)計寬表, 服務(wù)DA層
DA(app)層: 數(shù)據(jù)應(yīng)用層
- 作用: 存儲分析的結(jié)果表, 會對DW層統(tǒng)計寬表, 根據(jù)需求要求, 從寬表中獲取想要的數(shù)據(jù), 將這些數(shù)據(jù)灌入到DA層
更加細(xì)分的數(shù)倉分層方案
1 ODS數(shù)據(jù)源
此層數(shù)據(jù)無任何更改,直接沿用外圍系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù),不對外開放;為臨時存儲層,是接口數(shù)據(jù)的臨時存儲區(qū)域,為后一步的數(shù)據(jù)處理做準(zhǔn)備。
2 DW數(shù)據(jù)倉庫
2.1 DWD明細(xì)層:
明細(xì)層DWD(Data Warehouse Detail):存儲明細(xì)數(shù)據(jù),此數(shù)據(jù)是最細(xì)粒度的事實數(shù)據(jù)。該層一般保持和ODS層一樣的數(shù)據(jù)粒度,并且提供一定的數(shù)據(jù)質(zhì)量保證。(做數(shù)據(jù)清洗 轉(zhuǎn)化 處理工作) 拉鏈表也是從這里做
2.2 DWB基礎(chǔ)數(shù)據(jù)層:
數(shù)據(jù)降維后生(維度退化)成的明細(xì)寬表,作為中間數(shù)據(jù)使用。一般只保留一段周期內(nèi)的有效數(shù)據(jù)。(一般是一年) 從維度表抽取字段結(jié)合事實表
2.3 DWS服務(wù)數(shù)據(jù)層:
按照主題劃分的日統(tǒng)計寬表,基于DWB上的基礎(chǔ)數(shù)據(jù),整合匯總成分析某一個主題域的服務(wù)數(shù)據(jù)。(提前聚合 形成統(tǒng)計寬表 Example:統(tǒng)計天 月 年 銷售總額 可以在dws層面將銷售總額統(tǒng)計出來 然后基于每天數(shù)據(jù)進(jìn)行匯總)
3 DM數(shù)據(jù)集市:
數(shù)據(jù)集市層,主要職責(zé)是建設(shè)寬表模型、匯總表模型,比如用戶主題寬表、銷售主題寬表等。主要作用是支撐數(shù)據(jù)分析查詢以及支持應(yīng)用所需數(shù)據(jù)。
4 RPT報表應(yīng)用
同樣也叫作ADS層、APP層。
根據(jù)報表、專題分析的需求而計算生成的個性化數(shù)據(jù)。(老板想看什么主題的數(shù)據(jù) 就給他展示出什么主題的數(shù)據(jù))

但是,大多數(shù)情況下,我們完成的數(shù)據(jù)體系卻是依賴復(fù)雜、層級混亂的。如下的圖,在不知不覺的情況下,我們可能會做出一套表依賴結(jié)構(gòu)混亂,甚至出現(xiàn)循環(huán)依賴的數(shù)據(jù)體系。
浙公網(wǎng)安備 33010602011771號