数仓分层理论_多元分层理论
數據倉庫
? 在實際工作中,數倉分層、元數據管理、數據質量管理一直是一個持續優化的過程,我們公司業務也是在持續的做數倉的優化工作,在數據治理這方面還是欠缺很多的經驗的。下面先簡單整理了一下第一個理論部分的相關筆記。
?
數據倉庫理論
數據倉庫四大特征
-
面向主題:較高層次上企業信息系統中的數據綜合、歸類并進行分析利用的抽象概念。
-
集成的:從不同數據庫、數據文件和不同日志中抽取的,既有內部數據,又有外部數據
-
穩定的:主要是針對應用而言,數據一旦進入數倉之后,一般情況下保留較長時間,極少更新。
-
反映歷史變化的:數倉包含各粒度的歷史數據。數倉的數據也會做定期的更新,以適應決策需要。
數據倉庫作用
-
整合業務數據,建立統一的數據中心;
-
生成業務報表,了解企業的經營狀況;
-
輔助決策管理提供數據支持
-
可以作為各個業務的數據源,形成業務數據互相反饋的良性循環;
-
分析用戶行為數據,通過數據挖掘來降低投入成本,提高投入效果;
-
開發數據產品,直接或間接地為企業盈利
數據倉庫與數據庫的比較
-
事務–是數據庫操作的最小工作單元,是作為單個邏輯工作單元執行的一系列操作;這些操作作為一個整體一起向系統提交,要么都執行、要么都不執行;
-
事務的四大特性:
-
1 、原子性:事務是數據庫的邏輯工作單位,事務中包含的各操作要么都做,要么都不做
-
2 、一致性:事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。
-
3 、隔離性:一個事務的執行不能其它事務干擾。
-
4 、持續性:也稱永久性,指一個事務一旦提交,它對數據庫中的數據的改變就應該是永久性的。
-
數據庫–OLTP(On-Line Transaction Processing 聯機事務處理)
-
對少數記錄查詢、修改;
-
用戶關心操作響應時間、數據安全性、完整性和并發性
-
主要用于操作型處理
-
數據倉庫–OLAP(On-Line Analytical Processing 聯機分析處理)
-
對某些主題的歷史數據分析、支持管理決策。
數據倉庫和數據庫對比:
-
數倉用于解決企業級數據分析問題、管理和決策。
-
數倉為分析數據而設計;數據庫為捕獲和存儲數據設計
-
數倉面向分析,面向主題設計的;數據庫是面向事務設計的,屬于操作型。
-
數倉采用反范式設計(引入數據冗余來提高查詢效率);數據庫設計盡量避免冗余,一般采用符合范式規則設計。
-
數倉較大,且數據來源于多個異構數據源,保留歷史數據;數據庫存儲有限期限,單一領域業務數據。
-
數倉面向主題設計;數據庫面向事務設計;
數據集市
-
數據倉庫的某一部分,是按照部門或業務分部建立的反映各個子主題的局部性數據組織,也可以稱為部門數據倉庫。
-
eg商品銷售中的數據倉庫建立不同主題的數據集市:
-
商品采購數據集市
-
商品庫存數據集市
-
商品銷售數據集市
數據倉庫建模方法
ER模型(Entity Relationship)–在范式理論上符合3NF模型
-
建立ER模型需要全面了解整個企業業務和數據
-
實施周期非常長
-
對建模人員的能力要求非常高
-
ER模型建設數倉是為整合數據,將各系統中數據以企業角度主題進行相似性組合和合并,并進行一致性處理,不能用于分析決策。建模步驟:
-
高層模型
-
中層模型
-
物理模型
維度模型
-
為分析需求服務,快速完成分析,并具有較好的大規模復雜查詢的響應性能
-
星型模型
-
雪花模型
-
維度模型設計步驟:
-
1.選擇需進行分析決策的業務過程
-
2.選擇數據的粒度
-
3.識別維度表,包括維度屬性,用于分析時進行分組和篩選。
-
4.選擇事實,確定分析需要衡量的指標
數據倉庫分層
數據倉庫是指一整套的數據建模、ETL(數據抽取、轉換、加載)、作業調度等在內的完整理論體系流程。
數倉分層原因:
-
清晰的數據結構
-
將復雜的問題簡單化
-
減少重復開發
-
屏蔽原始數據的異常
-
數據血緣關系追蹤
常見數據分層為3層:數據操作層、數據倉庫層、數據應用層(數據集市層),正常情況下會根據業務或者開發人員經驗劃分為不同的層。
?
ODS(Operation Data Store 數據準備區):最原始的數據,即是最處接收的業務日志數據或者異構數據。
-
ODS來源包括:1.業務數據庫,使用DataX,Sqoop等工具抽取;實時應用中,使用Canal監聽Mysql的Binlog,實時接入變更的數據。
-
埋點日志:key使用Flume定時抽取。
-
其他數據源:第三方購買數據或網絡爬蟲數據。
DW(Data Warehouse 數據倉庫層):包括DWD,DWS,DIM層;由ODS層數據加工而成。
-
DWD(Data Warehouse Detail 細節數據層):是業務層與數據倉庫的隔離層。構建細粒度的明細層事實表。也可將明細事實表的某些重要維度屬性字段做適當冗余,也即寬表化處理;
-
DWS (Data Warehouse Service 服務數據層):基于DWD的基礎數據,整合匯總成分析某一個主題域的服務數據。
-
公共維度層(DIM):基于維度建模理念思想,建立一致性維度;
-
TMP層 :臨時層,存放計算過程中臨時產生的數據;
ADS (Application Data Store 應用數據層):基于DW數據,整合匯總成主題域的服務數據,用于業務查詢等。
數據倉庫模型
事實表與維度表
-
事實表:包含數字數據,并且數字信息可以匯總。事實表的粒度決定了數倉中數據的詳細程度。
-
常見事實表:訂單事實表
-
事實表特點:表多;數據量大
-
事實表根據數據粒度分為:事務事實表、周期快照事實表、累計快照事實表。
-
維度表:用來分析數據的角度。(個人理解是如何進行分組的維度信息)
-
常見維度表:時間維度表、地域維度表、商品維度表
-
小結:
-
事實表關注內容:eg:銷售額、銷售量
-
維度表是觀察事務的角度。
事實表分類
-
事務事實表:事務事實表記錄的事務層面的事實,保存的是最原子的數據,也稱“原子事實表;eg:訂單表
-
周期性快照事實表:以具有規律性的、可預見的時間間隔來記錄事實,時間間隔如每天、每月、每年等等。eg:日銷售表,
-
累積快照事實表:累積快照事實表記錄的不確定的周期的數據。eg:訂貨日期,實際發貨日期
星型模型
?
星型模型
-
是一種多維的數據關系,由一個事實表和一組維表組成,
-
事實表在中心,周圍圍繞的連接著維表;
-
事實表中包含了大量數據,沒有數據冗余;
-
維表是逆規范化的,包含一定的數據冗余;
雪花模型
?
雪花模型
-
是星型模型的變異,維表是規范化的,
-
特點:雪花模型結構去除了數據冗余。
事實星座
?
事實星座
-
共享維表的模式,也可以看做是星型模式的匯集,因而稱為星系模型或事實星座模式。
-
特點:公用維表
數倉模型小結:
-
星型模型存在數據冗余,所以在查詢統計時只需要做少量的表連接,查詢效率高;
-
星型模型不考慮維表正規化的因素,設計、實現容易;
-
在數據冗余可接受的情況下,實際上使用星型模型比較多;
元數據:關于數據的數據
元數據相當于所有數據的地圖,元數據方便查看數據倉庫中的以下幾個方面:
-
有哪些數據
-
數據分布情況
-
數據類型
-
數據之間的相關性
-
數據的訪問頻次
元數據貫穿大數據平臺數據流動的全程,主要包括數據源元數據、數據加工處理過程元數據、數據主題庫專題課元數據、服務層元數據、應用層元數據等。
業內通常把元數據分為以下類型:
-
技術元數據:庫表結構、數據模型、ETL程序、SQL程序等
-
業務元數據:業務指標、業務代碼、業務術語等
-
管理元數據:數據所有者、數據質量、數據安全等
總結
以上是生活随笔為你收集整理的数仓分层理论_多元分层理论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cloud for Customer的m
- 下一篇: 软件版本号命名规范1.0.0.1什么意思