數據模型對於數倉是最核心的東西,數據模型是數據組織和存儲方法,模型的好壞,決定了數倉能支撐企業業務多久。為什麼大多數企業,數倉都要重建,這不僅僅是業務拓展、發展迅速,很大一部分是因為模型建的很爛。
一、基本概念
維度建模,是數據倉庫大師Ralph Kimball提出的,是數據倉庫工程領域最流行的數倉建模經典。維度建模以分析決策的需求出發構建模型,構建的數據模型為分析需求服務,因此它重點解決用戶如何更快速完成分析需求,同時還有較好的大規模複雜查詢的響應性能。它是面向分析的,為了提高查詢性能可以增加數據冗餘,反規範化的設計技術。
1.1、事實表
事實表產生於業務過程,存儲了業務活動或事件提煉出來的性能度量。從最低的粒度級別來看,事實表行對應一個度量事件。事實表根據粒度的角色劃分不同,可分為事務事實表、周期快照事實表、累積快照事實表。
用於承載事務數據,通常粒度比較低,它是面向事務的,其粒度是每一行對應一個事務,它是最細粒度的事實表,例如產品交易事務事實、ATM交易事務事實。
按照一定的時間周期間隔(每天,每月)來捕捉業務活動的執行情況,一旦裝入事實表就不會再去更新,它是事務事實表的補充。用來記錄有規律的、固定時間間隔的業務累計數據,通常粒度比較高,例如帳戶月平均餘額事實表。
用來記錄具有時間跨度的業務處理過程的整個過程的信息,每個生命周期一行,通常這類事實表比較少見。注意:這裡需要值得注意的是,在事實表的設計時,一定要注意一個事實表只能有一個粒度,不能將不同粒度的事實建立在同一張事實表中。
1.2、維度表
維度表,一致性維度,業務過程的發生或分析角度,我們主要關注下退化維度和緩慢變化維。
在維度類型中,有一種重要的維度稱作為退化維度,亦維度退化一說。這種維度指的是直接把一些簡單的維度放在事實表中。退化維度是維度建模領域中的一個非常重要的概念,它對理解維度建模有著非常重要的作用,退化維度一般在分析中可以用來做分組使用。
維度的屬性並不是始終不變的,它會隨著時間的流逝發生緩慢的變化,這種隨時間發生變化的維度我們一般稱之為緩慢變化維(SCD)。SCD常用的三種處理方式如下:
① TYPE1 直接覆蓋原值
② TYPE2 增加維度行
在為維度成員增加新行時,需為其分配新的主代理鍵。並且,至少需要在維度行再增加三列:有效日期、截止日期、行標識。這個地方可聯想拉鍊表設計。
③ TYPE3 增加屬性列
④ 混合方式
可根據實際業務場景,混合或選擇使用以上三種方式,以快速方便而又準確的分析歷史變化情況。
1.3、粒度
用於確定某一事實表中的行表示什麼,是業務最小活動單元或不同維度組合,即業務細節程度。
1.4、維度建模流程
維度建模步驟:選擇業務過程->聲明粒度->確定維度->確定事實。旨在重點解決數據粒度、維度設計和事實表設計問題。
聲明粒度,為業務最小活動單元或不同維度組合。以共同粒度從多個組織業務過程合併度量的事實表稱為合併事實表,需要注意的是,來自多個業務過程的事實合併到合併事實表時,它們必須具有同樣等級的粒度。
二、建模方法 —— 經典數據倉庫模型
數據倉庫建模方法論可分為:維度建模、範式建模、Data Vault模型、Anchor模型。
2.1、維度模型
企業中最流行、也是最經典的數倉建模經典,數據倉庫大師Ralph Kimball的經典著作《數據倉庫工具箱 維度建模權威指南 第三版》一本書進行了論述。從事數據倉庫/ETL/BI的同學,強烈建議買一本至少讀一遍。按數據組織類型劃分可分為星型模型、雪花模型、星座模型。
星型模型主要是維表和事實表,以事實表為中心,所有維度直接關聯在事實表上,呈星型分布。
圖來源於Kimball《The Data Warehouse Toolkits -3rd Edition》
雪花模型,在星型模型的基礎上,維度表上又關聯了其他維度表。這種模型維護成本高,性能方面也較差,所以一般不建議使用。尤其是基於hadoop體系構建數倉,減少join就是減少shuffle,性能差距會很大。
星座模型,是對星型模型的擴展延伸,多張事實表共享維度表。數倉模型建設後期,大部分維度建模都是星座模型。
2.2、範式模型即實體關係(ER)模型
數據倉庫之父Immon提出的,從全企業的高度設計一個3NF模型,用實體加關係描述的數據模型描述企業業務架構,在範式理論上符合3NF。此建模方法,對建模人員的能力要求非常高。
2.3、Data Vault模型
DataVault由Hub(關鍵核心業務實體)、Link(關係)、Satellite(實體屬性) 三部分組成 ,是Dan Linstedt發起創建的一種模型方法論,它是在ER關係模型上的衍生,同時設計的出發點也是為了實現數據的整合,並非為數據決策分析直接使用。
2.4、Anchor模型
高度可擴展的模型,所有的擴展只是添加而不是修改,因此它將模型規範到6NF,基本變成了K-V結構模型。企業很少使用,本文不多做介紹。
三、建模工具
Datablau DDM是新一代數據模型管理工具,由ERwin數據建模研發骨幹開發團隊榮譽出品。傳統建模工具主要面向設計,而DDM創新的融合了數據治理理念,把數據治理推進到開發流程中,進行開發態的源頭治理,解決了標準落地的難題。從根本上控制企業增量的數據質量問題。目前已經在多家銀行、基金、保險、能源、政府、製造業等使用。
四、結語
對於數倉而言,模型就是命脈,好與壞直接決定企業數據存儲、處理和應用。對於維度建模,真正理解了粒度和一致性維度,也就理解了維度建模的魂。對於建模工具,沒有最好只有更好,適合業務的就是最好的。
Datablau(數語科技)簡介
北京數語科技有限公司,成立於2016年,是專注於數據治理領域的國內自主智慧財產權的專業軟體產品提供商,主要業務是數據治理軟體產品的研發與銷售。數語科技的創始團隊全部來自CA erwin,天然具有世界級水準的軟體產品開發能力。
創始人兼CEO:王琤,曾任職erwin全球研發總監,擁有超過十年以上數據建模和數據管理的從業經驗。
CTO:朱金寶,曾任職erwin首席架構師,先後服務多家全球知名企業,並曾全程參與中國建設銀行數據治理項目,目前全面負責Datablau軟體平臺的研發工作和關鍵項目的實施工作。
數語科技根據DAMA理論和中國國情獨立研發Datablau新一代數據治理平臺,平臺由Datablau DDM數據建模產品和Datablau DAM數據資產管理平臺兩大部分組成,全部擁有軟體著作權和智慧財產權,一站式全面滿足中國企業的數據治理需求。其中數據建模產品DDM是Datablau填補國內空白的重量級產品,幫助中國客戶擺脫國外產品的壟斷現狀。2018年,Datablau數據治理平臺通過了中國信息通信研究院嚴格苛刻的產品評測並獲得的「最佳大數據產品」獎。
更多渠道了解我們
官網:www.datablau.cn
【免責聲明:CSDN本欄目發布信息,目的在於傳播更多信息,豐富網絡文化,稿件僅代表作者個人觀點,與CSDN無關。其原創性以及中文陳述文字和文字內容未經本網證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本網不做任何保證或者承諾,請讀者僅作參考,並請自行核實相關內容。凡註明為其他媒體來源的信息,均為轉載自其他媒體,轉載並不代表本網贊同其觀點,也不代表本網對其真實性負責。您若對該稿件由任何懷疑或質疑,請即與CSDN聯繫,我們將迅速給您回應並做處理。】