資料倉儲技術(Data Warehousing)是基於資訊系統業務發展的需要,基於資料庫系統技術發展而來,並逐步獨立的一系列新的應用技術。資料倉儲主要有兩大技術:OLTP和OLAP,我們來分析:
一、OLTP和OLAP
# OLTP的全名為Online Transaction Processing, OLTP主要用傳統的關係型資料庫來進行交易處理。 OLTP最核心的需求是單一記錄的高效快速處理,索引技術、分庫分錶等最根本的訴求就是解決此問題。
OLAP的全名是Online Analytical Processing,OLAP能夠處理和統計大量的數據,不像OLTP數據庫需要考慮數據的增刪改查和並發控制等,OLAP數據一般只需要處理數據查詢請求,數據導入批量導入的,因此透過列存儲,列壓縮和位圖索引等技術可以大大加快響應請求的速度。
二、OLTP與OLAP資料的簡單比較#三、資料倉儲邏輯架構設計
離線資料倉儲通常基於維度建模理論來構建,離線資料倉儲通常從邏輯上進行分層,分詞主要出於以下考慮:######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層,應用層只包含部門或因為方自己關心的明細層和總計層資料。 ###以上是資料倉儲需要什麼技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!