Hadoop數據倉庫實踐
第一章:
1.什麼是數據倉庫
數據倉庫試圖提供一種從操作系統到決策支持環境的數據流架構模型。爲了解決和這個數據流相關的各種問題,主要是解決多重數據複製帶來的高成本問題。
2.數據倉庫的定義
Bill Immon 定義爲 面向主題,集成的,隨時間變化的,非易失的數據集合,用於支持管理者的決策過程。
3.數據粒度
粒度是指數據的細節或彙總程度。細節程度越高,粒度級別越低。
粒度極大程度的數據倉庫的數據量和可以進行的查詢類型。粒度級別越低,數據量越大,查詢的細節程度越高,查詢範圍越廣。
4.數倉的好處
1.將多個數據源集成到單一數據進行存儲,因此使用單一數據查詢引擎展示數據
2.維護歷史數據
3.緩解在事務處理上因執行大查詢而產生的資源競爭問題
4.開發決策型查詢更簡單
5.提供所有數據的單一通用數據模型,而不用關心數據源
6.通過提供一致的編碼和描述,減少和修正壞數據問題,提高數據質量
5.操作性系統和分析型系統
操作性系統:用於管理面向事務的應用的信息系統。
事務:工作於數據庫管理系統中的一個邏輯單元,該邏輯單元中的操作被以一種獨立於其他事務的可靠方式所處理,事務一般代表這數據改變,提供 "all-or-nothing" ACID
6.分析型系統
1.分析系統是一種快速回答多維分析查詢的實現方式
2.分析型系統的特徵是相對少量的事務,但查詢非常複雜且包含聚合計算。對於分析型系統,吞吐量是一個有效的性能度量指標。
7.數據倉庫架構
ETL過程分爲抽取和轉換裝載兩個部分。
1.抽取過程中從操作型系統獲取數據,按照主題進行集成,物理上是將操作型系統的數據按照全量或者增量複製到數據倉庫系統的RDS層。
2.轉換裝載過程是將數據進行清洗,過濾,彙總,統一格式等一系列轉換操作,使數據成爲適合查詢的格式,然後裝進數據倉庫的TDS中。
RDS:原始數據存儲。這裏的RDS實際上是起到了操作型數據存儲(ODS)的作用
TDS:轉換後的數據存儲。這是真正的數據倉庫中的數據。
8.主要的數據倉庫架構
主要分爲:數據集市架構,Immon企業信息工廠架構,Kimball數據倉庫架構和混合型數據倉庫架構
數據集市架構:按主題域組織的數據集合,用於支持部門級的決策。分爲 獨立數據集市 和 從屬數據集市
Kimball數據倉庫架構
Inmmon企業信息工廠架構
混合型數據倉庫
總結:Kimball和Inmmon兩種架構的區別在於核心數據倉庫的設計和建立。
Kimball的數據倉庫包含高粒度的企業數據,使用多維設計模式,這也意味着數據倉庫是由星型模式的維度表和事實表構成。在此架構中的數據集市也與Inmmon不同,這裏的數據集市只是一個邏輯概念,只是多維數據倉庫的主題域劃分,並沒有自己的物理存儲,也可以說是虛擬的數據集市。
操作型數據存儲
稱爲ODS 定義:面向主題的,集成的,可變的,當前的細節數據的集合,用於支持企業對於即時性的,操作性的,集成的全體信息的需求。
ETL(extract, Transform, Load)
目的:將異構的數據轉換成同構的。
抽取:從操作型數據源獲取數據
邏輯抽取:全量抽取 增量抽取
物理抽取:聯機抽取 脫機抽取
轉換:轉換數據,使之轉變爲用於查詢和分析的形式和結構
裝載:將轉換後的數據導入到最終的目標數據倉庫