數據倉庫分層的原因
1通過數據預處理提高效率,因為預處理,所以會存在冗余數據
2如果不分層而業務系統的業務規則發生變化,就會影響整個數據清洗過程,工作量巨大
3通過分層管理來實現分步完成工作,這樣每一層的處理邏輯就簡單了
標准的數據倉庫分層:ods(臨時存儲層),pdw(數據倉庫層),mid(數據集市層),app(應用層)
ods:歷史存儲層,它和源系統數據是同構的,而且這一層數據粒度是最細的,這層的表分為兩種,一種是存儲當前需要加載的數據,一種是用於存儲處理完后的數據。
pdw:數據倉庫層,它的數據是干凈的數據,是一致的准確的,也就是清洗后的數據,它的數據一般都遵循數據庫第三范式,數據粒度和ods的粒度相同,它會保存bi系統中所有歷史數據
mid:數據集市層,它是面向主題組織數據的,通常是星狀和雪花狀數據,從數據粒度將,它是輕度匯總級別的數據,已經不存在明細的數據了,從廣度來說,它包含了所有業務數量。從分析角度講,大概就是近幾年
app:應用層,數據粒度高度匯總,倒不一定涵蓋所有業務數據,只是mid層數據的一個子集。
數據倉庫的目的是構建面向分析的集成化數據環境,為企業提供決策支持。數據倉庫的context也可以理解為:數據源,數據倉庫,數據應用
數據倉庫可以理解為中間集成化數據管理的一個平台
etl(抽取extra,轉化transfer,裝載load)是數據倉庫的流水線,也可以認為是數據倉庫的血液。
數據倉庫的存儲並不需要存儲所有原始數據,因為比如你存儲冗長的文本數據完全沒必要,但需要存儲細節數據,因為需求是多變的,而且數據倉庫是導入數據必須經過整理和轉換使它面向主題,因為前台數據庫的數據是基於oltp操作組織優化的,這些可能不適合做分析,面向主題的組織形式才有利於分析。
多維數據模型就是說可以多維度交叉查詢和細分,應用一般都是基於聯機分析處理(online analytical process OLAP),面向特定需求群體的數據集市會基於多位數據模型構建
而報表展示就是將聚合數據和多維分析數據展示到報表,提供簡單和直觀的數據。
元數據,也叫解釋性數據,或者數據字典,會記錄數據倉庫中模型的定義,各層級之間的映射關系,監控數據倉庫的數據狀態和etl的任務運行狀態。一般通過元數據資料庫來統一存儲和管理元數據。