吳乙己的數倉指南 2維度建模核心思想

2021-10-12 10:18:50 字數 2692 閱讀 1036

2.匯流排矩陣

前兩章講了很多寬泛,大而全,**之外的東西,想必大家看的昏昏欲睡(不過大家打怪公升級多了,會發現**之外的東西往往才是決定性的東西,相信我)。

本章講乾貨,講數倉工程師設計&開發時關注的乾貨——維度建模,可謂數倉工程師的內功。

先簡單講一下啥是維度建模,維度建模是kimball老爺子發明的用來短平快地搭建數倉的方**,優勢在於基於需求快速落地,同時能以維度內聚業務,區分為主題便於管理(當然煙囪式開發會導致資料壁壘和邏輯爭執,後面有了資料中颱來解決這倆難題)。與之對應的是關係建模,由inmon老爺子發明,相信計算機專業的朋友在大學的資料庫課程中都學習過,關係建模適合對大而全穩定的業務建模(如銀行),嚴格基於3nf使用以及維護非常方便,但基於業務變化進行迭代會相對麻煩,我沒做過關係建模故此處不展開。

本章不討論分層等等更貼**的東西,討論的是維度建模心法中的核心思想。

數倉工程師的精神導師,維度建模的爸爸ralph kimball的著作《資料倉儲工具箱》想必大家都讀過,翻來覆去就說了三樣東西:維度建模「四部曲」匯流排矩陣維度建模高階方法。前兩者是內功,後者是外功,本章著重討論內功,外功後期會整理代表型別的技術單獨成文。

本節幾乎照搬《資料倉儲工具箱》,大家有書可以不看我這裡。

業務過程是由特定功能組織完成的微觀活動,如下訂單,開發票,保險索賠,醫院**,等等。

業務有如下公共特徵:

1.業務過程通常由行為動詞表示。

2.業務過程通常由某個操作性系統(oltp——online transaction system)支撐。

3.業務系統建立或獲取關鍵效能度量。有時這些度量是業務過程的結果,也有可能是業務過程中的產出數值。

4.業務過程常由輸入啟用,產生輸出度量。

粒度傳遞的是與事實表度量相關的細節級別。應使用業務術語來表示粒度。

例如:登機口每處理登機牌一次,記錄一行資料。

醫生每開具一張收費單,記錄一行資料。

派出所每出警一次,記錄一行資料。

維度要解決的問題是「業務人員如何描述來自業務過程度量事件的資料?」應使用足夠健壯的維度集合來裝飾事實表,這些維度承擔每個度量環境中所有可能的單值描述符

通過回答「如何度量業務過程?業務過程的度量是什麼?」來確定事實。

要以使用者需求和資料**的實際情況確定事實,堅決抵制僅考慮資料**來建模資料

維度:包含與業務過程度量事件有關的文字環境,用於描述「誰/什麼/**/何時/如何/為什麼」有關的事件。

度量:描述業務過程事實的值,如多少,高度,人數,等等。

舉例:穿紅色衣服的小明在高考中考得666分。其中「高考」是業務過程,「紅色衣服」/「小明」是維度,「666分」是度量

計算機中的匯流排大家都耳熟能詳,它是介面的規範,確保磁碟,光碟機等裝置可以正常插拔。維度建模也是如此,維度就是一條條縱向的線路,合在一起就是匯流排。而每個業務過程就像是一條條橫向的具有不同介面的電子裝置,連線匯流排與維度交織,相交點的組合就是資料應用

以「商店庫存」這個業務為例。其中含購買訂單,商店庫存,商店銷售等業務過程(橫向);含日期,產品,商店,**,倉庫等維度(縱向)相交的點即可作為資料應用的組成單元。

今天的文字不多,而且大家若想吸收內容怎麼著也得做它一兩個專案才有數,強烈建議大家讀《資料倉儲工具箱》

大家英文功底ok的話也可訪問kimball老爺子的公司主頁 學習資料倉儲的知識。

向kimball老爺子致敬!

下一章講數倉分層,敬請期待!

p.s.朋友反饋本章沒有講解星型模型/雪花模型,因為我認為這是外功,不屬於內功aka思想,故不討論。很多大牛blogger的文章講解的很清晰,一搜便知。

數倉的分層

一 數倉為什麼要分層?1 分層解耦,可以讓開發思路更加清晰,複雜問題簡單化 出錯時,可以精確定位資料 2 節省重複開發 3 脫敏 二 數倉的分層 以5層數倉為例 ods層 原始資料層,原始資料原封不動的直接匯入!dwd層 基於ods層,將原始資料進行清洗,篩選後的資料,把其中的明細開啟 例如 啟動日...

數倉的分層

一 數倉為什麼要分層?1 分層解耦,可以讓開發思路更加清晰,複雜問題簡單化 出錯時,可以精確定位資料 2 節省重複開發 3 脫敏 二 數倉的分層 以5層數倉為例 ods層 原始資料層,原始資料原封不動的直接匯入!dwd層 基於ods層,將原始資料進行清洗,篩選後的資料,把其中的明細開啟 例如 啟動日...

數倉建模的edw 數倉結構幾層,作用

資料倉儲,英文名稱為data warehouse,可簡寫為dw或dwh。資料倉儲,是為企業所有級別的決策制定過程,提供所有型別資料支援的戰略集合。它是單個資料儲存,出於分析性報告和決策支援目的而建立。為需要業務智慧型的企業,提供指導業務流程改進 監視時間 成本 質量以及控制。資料倉儲,並不是資料的最...