大資料開發實戰:資料倉庫技術
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層,應用層隻包含部門或因為方自己關心的明細層和彙總層資料。
參考資料:《離線和實時大資料開發實戰》