1、OLTP和OLAP
OLTP的全稱是 Online Transaction Processing, OLTP主要用傳統的關系型數據庫來進行事務處理。OLTP最核心的需求是單條記錄的高效快速處理,索引技術、
分庫分表等最根本的訴求就是解決此問題。
OLAP的全稱是 Online Analytical Processing,OLAP能夠處理和統計大量的數據,不像OLTP數據庫需要考慮數據的增刪改查和並發控制等,OLAP數據一般只需要處理數據查詢請求,
數據導入批量導入的,因此通過列存儲,列壓縮和位圖索引等技術可以大大加快響應請求的速度。
2、OLTP和OLAP數據的簡單對比
3、數據倉庫邏輯架構設計
離線數據倉庫通常基於維度建模理論來構建,離線數據倉庫通常從邏輯上進行分層,分詞主要出於以下考慮:
1、隔離性:用戶使用的應該是數據團隊精心加工后的數據,而不是來自於業務系統的原始數據,這樣做的好處一是,用戶使用的是精心准備過的、規范的、干凈的、從業務視角的數據。
非常容易理解和使用。二是如果上游業務系統發生變革甚至重構(比如表結構、字段、業務含義等),數據團隊會負責處理所有這些變化,最小化對下游用戶的影響。
2、性能和可為維護性: 專業的人做專業的事,數據分層使得數據的加工基本都在數據團隊,從而相同的業務邏輯不用重復執行,節省了相應的存儲和計算開銷。
此外數據分層也使得數據倉庫的維護變得清晰和便捷,每層只負責各自的任務,某層的數據加工出現問題,只需要修改該層即可。
3、規范性:對於一個公司和組織來說,數據的口徑非常重要,大家談論一個指標的時候,必須基於一個明確的、公認i的口徑,此外表、字段以及指標必須進行規范。
4、ODS層:數據倉庫源頭系統的數據表通常會原封不動地存儲一份,這稱為ODS(Operation Data Store)層, ODS層也經常會被稱為准備區(Staging area),
它們是后續數據倉庫層(即基於Kimball維度建模生成的事實表和維度表層,以及基於這些事實表和明細表加工的匯總層數據)加工數據的來源,
同時ODS層也存儲着歷史的增量數據或全量數據。
5、DWD和DWS層:數據倉庫明細層(Data Warehouse Detail , DWD)和數據倉庫匯總層(Data Warehouse Summary, DWS)是數據倉庫的主題內容。
DWD和DWS層的數據是ODS層經過ETL清洗、轉換、加載生成的,而且它們通常都是基於Kimball的維度建模理論來構建的,並通過一致性維度和數據總線來保證各個子主題的維度一致性。
6、應用層(ADS):應用層主要是各個業務放或者部門基於DWD和DWS建立的數據集市(Data Mart,DM),數據集市DM是相對於DWD和DWS的數據倉庫(Data Warehouse, DW)
來說的。一般來說,應用層的數據來源於DW層,但原則上不允許直接訪問ODS層。此外,相比DW層,應用層只包含部門或因為方自己關心的明細層和匯總層數據。
參考資料:《離線和實時大數據開發實戰》