數據倉庫技術
數據倉庫(Data Warehouse)是爲了滿足中高層管理人員預測,決策分析的需求,在傳統數據庫的基礎上產生了能夠滿足預測,決策分析需求的數據環境。
一. 數據倉庫與傳統數據庫的區別
面向事務處理的傳統數據庫系統不在適應新形式下的管理決策分析的需求,其中體現在:
1. 系統的響應問題
在分析過程中應用程序需要處理時間過長,消耗大量的系統資源
2. 數據集成問題
需要面對大量全面,正確的集成數據
需要面對大量全面,正確的集成數據
3. 數據的動態集成和更新
數據的集成涉及企業外部數據和非結構化的數據的集成使用
4. 歷史數據問題
供決策參考的一般的是歷史數據
5. 決策操作問題
數據倉庫和傳統的數據庫的比較主要體現在下面幾個方面:
比較項目
|
傳統數據庫
|
數據倉庫
|
數據內容
|
當前值
|
歷史的,歸檔的,歸納的,計算的數據(處理過的)
|
數據目標
|
面向業務操作程序,重複操作
|
面向主體域,分析應用
|
數據特性
|
動態變化,更新
|
靜態,不能直接更新,只能定時添加,更新
|
數據結構
|
高度結構化,複雜,適合操作計算
|
簡單,適合分析
|
使用頻率
|
高
|
低
|
數據訪問量
|
每個事務一般只訪問少量記錄
|
每個事務一般訪問大量記錄
|
對響應時間的要求
|
計時單位小,如秒
|
計時單位相對較的,除了秒,還有分鐘,小時
|
二. 數據倉庫的概念
數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented),集成的(Integrate),非易失的(Non-Volatile),且隨時間變化的(Time Variant)的數據集合,用於支持管理決策。
與數據倉庫技術相關的概念主要有以下三個:
1. 維
管理決策需要從多個角度,多個層面分析,涉及和影響到決策的各個重要因素,這些決策分析的角度或決策分析的出發點就構成了數據倉庫中維的概念。
其中還有兩個概念:上卷和下鑽
上卷是指在數據倉庫應用中,從較低層次的數據開始逐步將數據按照層次進行概括處理。
下鑽是指從數據倉庫中的高層數據開始逐步走向底層數據,探索,瞭解概括性數據的具體細節。
2. 數據立方體
數據倉庫中多維的交點就是數據倉庫用戶要觀察的事務。立方體作爲基本事務的集合,是一種適合通過SQL或其他接口進行查詢的完整的數據結構。
數據倉庫中的立方體也稱爲多維立方體,數據立方體的維數超過3時,就稱爲超立方體或超維數聚集。
3. 聚類
聚類(聚合)是指收集了基本事務數據的結構。將不同層次的數據通過聚集,形成了基於維的對管理人員有決策分析意義的一些數據交集。
三. 數據倉庫的結構
從數據倉庫的概念結構看,一般說來,數據倉庫系統要包括數據源,數據準備區,數據倉庫數據庫,數據集市/知識挖掘庫以及各種管理工具和應用工具。數據倉庫建立之後,首先要從數據源中抽取相關的數據到數據準備區,在數據準備區中經過淨化處理後再加載到數據倉庫數據庫,最後根據擁護的需求將數據導入數據集市和知識挖掘庫中。當用戶使用數據倉庫時,可以利用包括OLAP(聯機分析處理On-Line Analytical Processing)在內的多種數據倉庫應用工具向數據集市/知識挖掘庫或數據倉庫進行決策查詢分析或知識挖掘。數據倉庫的創建,應用可以利用各種數據倉庫管理工具輔助完成。
基本分層爲:
1. 數據倉庫的基本功能層
1.1 數據源是指存儲在數據倉庫中的數據來源,結構上應該包含業務數據,歷史數據,辦公數據,Web數據,外部數據以及數據源數據。
1.2 數據準備區的功能結構由數據標準化處理,數據過濾和匹配,數據淨化和處理,表明數據的時間戳,確認數據質量以及元數據抽取和創建等操作組成。
1.3 數據倉庫的功能結構由數據重整,數據倉庫創建和元數據管理組成。其中數據重整包括:集成與分解,概括與聚集,預算與推導,翻譯與格式化,轉換與映像;數據倉庫創建包括:建模,概括,聚集,調整與確認,建立結構化查詢;元數據的管理包括:元數據遊覽與導航,元數據創建,創建詞彙表。
1.4 數據集市/知識挖掘的功能結構與數據倉庫的功能結構相似,區別在於數據集市的設立目的是爲了某個部門,某個領域用戶提供服務,而數據倉庫的目的在於爲全體用戶提供服務。
1.5 數據倉庫的數據存取與使用結構分爲數據倉庫存取與檢索,數據倉庫分析與報告兩部分。其中數據倉庫存取與檢索包括:數據倉庫的直接存取,數據集市存取,數據集市重整,轉換爲多維結構,創建局部存儲;數據倉庫分析與報告包括:報表工具,分析工具,分析建模工具,數據挖掘工具,新產品應用程序。
在這個過程中,元數據的管理一直同步進行(元數據管理與報表,元數據的抽取與創建)
2. 數據倉庫的管理層
數據倉庫的管理包括:數據管理和數據倉庫的元數據管理
2.1 數據管理包含數據抽取,新數據需求與查詢管理;數據加載,存儲,刷新和更新系統;安全性與用戶授權管理系統以及數據歸檔,恢復及淨化四個部分
2.2 數據倉庫的元數據管理包括:數據倉庫,數據集市和詞彙表管理;元數據抽取,創建,存儲和更新管理;預定義的查詢和報表以及索引管理;刷新與複製管理;登錄,歸檔,恢復,淨化管理。
3. 數據倉庫的環境支持層
數據倉庫的環境支持層由數據倉庫數據傳輸層和數據倉庫基礎層組成
3.1 數據倉庫數據傳輸層包含數據傳輸和傳送網絡,客戶/服務器代理和中間件,複製系統,安全和保障系統
3.2 數據倉庫的基礎層包含系統管理,工作流程管理,存儲管理,處理系統
數據倉庫的體系結構主要有:大衆觀點的數據倉庫體系結構,帶ODS(Operational Data Store)的數據倉庫體系結構,聯合型數據倉庫/數據集市體系結構,閉環的聯合型BI體系結構
四. 數據倉庫的設計與開發
1. 數據倉庫的設計
數據倉庫的設計主要需要考慮以下幾個方面
1.1 ETL( Extract/Transformation/Load)
用戶從數據源抽取出所需的數據,經過數據清洗,轉換,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。
1.2 元數據
關於數據的數據,指在數據倉庫建設過程中所產生的有關數據源定義,目標定義,轉換規則等相關的關鍵數據。同時元數據還包含關於數據含義的商業信息。
1.3 粒度
數據倉庫的數據單位中保存數據的細化或綜合程度的級別。
1.4 分割
結構相同的數據被分成多個數據物理單元。
1.5 Data Mart(數據集市)
小型的面向部門或工作組級數據倉庫。
1.6 Operation Data Store(操作數據存儲)
1.7 Data Model(數據模型)
該模型有邏輯數據結構,包括有DBMS爲有效進行數據庫處理提供的操作和約束;用於表示數據的系統(如ERD或關係型模型)。
1.8 Artifact(人工關係)
在DSS環境中用於表示參照完整性的一種設計技術。
2. 數據倉庫的開發
數據倉庫的開發需要按照軟件工程的開發思想進行,具體分爲以下步驟:
2.1 業務需求分析
2.2 邏輯模型設計
2.3 物理模型設計
2.4 數據抽取,清洗,集成,裝載
2.5 數據倉庫的管
2.6 數據的分析,報表,查詢
2.7 數據倉庫性能優化及發佈
五. 數據倉庫的技術
數據倉庫的主要技術包含數據管理技術,數據存儲技術和數據倉庫接口技術
1. 數據管理技術
數據管理技術包含以下幾點:
1.1 大批量數據管理
1.2 數據倉庫的高效率索引與數據監視技術
1.3 元數據管理技術
1.4 數據壓縮技術
1.5 複合鍵碼技術
2. 數據存儲技術
2.1 多介質存儲設備和管理技術
2.2 數據存儲的控制
2.3 數據的並行存儲與管理
2.4 可變長技術
2.5 鎖切換技術
3. 數據倉庫接口技術
3.1 多接口技術
3.2 語言的接口
3.3 數據的高效率加載