1. 程式人生 > 實用技巧 >湖倉一體:從零開始搭建資料倉庫

湖倉一體:從零開始搭建資料倉庫

數倉全景圖鎮樓

00

建設過程

數倉建模的過程分為業務建模、領域建模、邏輯建模和物理建模,但是這 些步驟比較抽象。為了便於落地,我根據自己的經驗,總結出上面的七個步驟:梳理業務流程、垂直切分、指標體系梳理、實體關係調研、維度梳理、數倉分層以及物理模型建立。每個步驟不說理論,直接放工具、模板和案例。

01

業務流程

1

找到公司核心業務流程,找到誰,在什麼環節,做什麼關鍵動作,得到什麼結果。

2

梳理每個業務節點的客戶及關注重點,找到資料在哪。

02

分域/主題

3

決定數倉的建設方式,快速交活,就用自下而上的建設。要全面支撐,就頂層規劃,分步實施,交活稍微慢點。

4

同時按照業務領域劃分主題域。主題域的劃分方法有:按業務流劃分(推薦)、按需求分、按職責分、按產品功能分等。

03

指標體系

5

指標的意義在於統一語言,統一口徑。所以指標的定義必須有嚴格的標準。否則如無根之水。

指標可分為原子指標、派生指標和衍生指標,其含義及命名規則舉例如下:

6

依照指標體系建設標準,開始梳理指標體系。整個體系同樣要以業務為核心進行梳理。同時梳理每個業務過程所需的維度。維度就是你觀察這個業務的角度,指標就是衡量這個業務結果好壞的量化結果。

請注意,此時不能被現有資料侷限。如果分析出這個業務過程應該有這個指標,但是沒有資料,請標註出來,提出收集資料的需求。

04

實體關係

7

每個業務動作都會有資料產生。我們將能夠獲取到的資料,提取實體,繪製ER圖,便於之後的維度建模。

8

同樣以業務過程為起點向下梳理,此時的核心是業務表。把每張表中涉及的維度、指標都整理出來。

05

維度整理

9

維度標準化是將各個業務系統中相同的維度進行統一的過程。其欄位名稱、程式碼、名字都可能不一樣,我們需要完全掌握,並標準化。

維度的標準儘可能參照國家標準、行業標準。例如地區可以參照國家行政區域程式碼。

另外,有些維度存在層級,如區域的省、市、縣。絕大多數業務系統中的級聯就是多層級維度。

06

數倉分層

10

資料倉庫一般分為4層,名字可能會不一樣,但是其目的和建設方法基本一致:

每一層採用的建模方法都不一樣,其核心是逐層解耦。越到底層,越接近業務發生的記錄,越到上層,越接近業務目標。

11

依託數倉分層的設計理論,根據實際業務場景,我們就可以梳理出整體的資料流向圖。這張圖會很清晰的告訴所有人,資料從那來,到哪裡去,最終提供什麼樣的服務。

07

模型建立

12

此時才真正進入純程式碼階段。數倉、ETL工具選型;ETL流程開發;cube的建立;任務排程,設定更新方式、更新頻率;每日檢視日誌、監控etl執行情況等等。

前面梳理清楚了,ETL會變的非常清晰