數據倉庫及其體系結構建設
1 數據倉庫的概念
數據倉庫(Data Warehousing)的概念最早出現于20世紀80年代。而直到1993年,號稱“數據倉庫之父”的William H.Inmon在其論著《Building the Data warehouse》一書中,***系統地闡述了數據倉庫的思想和相關理論,為數據倉庫的發展奠定了基石。他將數據倉庫定義為:“一個面向主題的、集成的、反映歷史變化的、相對穩定的數據集合,用于支持管理決策”。與傳統的事物處理系統有不同的是,數據倉庫是一種過程,它是對分布在組織或企業內部各處的業務數據進行整合、加工和分析的過程。而不是一種可以購買的產品。
1.1 面向主題(Subject-oriented)
“主題”是一個較為抽象的概念,是指用戶使用數據倉庫進行決策時所關心的重點方面。從信息管理的角度看,主題是在一個較高的管理層次上對數據進行綜合、歸類所形成的分析對象;從數據組織的角度看,主題就是一些數據集合,這些數據集合對分析對象作了比較完整的、一致的描述,這種描述不僅涉及到數據本身,還涉及到數據之間的關系。
“面向主題”則表明了數據倉庫中數據組織的基本原則,是指數據倉庫內的信息是按主題進行組織的,而不像傳統事物處理系統那樣單一地按照業務功能及性能要求進行組織。
1.2 集成(Integrated)
“集成”是指數據倉庫中的信息并不是對各個數據源簡單的選擇、抽取,而是首先進行一系列的加工、整理和轉換等來消除源數據中的不一致;同時按照本行業的邏輯模型設計便于查詢及分析的數據倉庫。然后按照組織或企業的需求,針對不同的主題對數據進行某種程度的綜合、概括和聚集,將源數據加載進數據倉庫。經過這樣的處理,數據就具有了集成性,可以用于決策分析。
1.3 反映歷史變化(Time-variant)
“反映歷史變化”是指數據倉庫內的信息并不只是反映企業當前的狀態,而是記錄了從過去某一時點到當前各個階段的信息。通過這些信息,可以對企業的發展歷程和未來趨勢做出定量分析和預測。而信息本身相對穩定,是指一旦某個數據進入數據倉庫以后,一般很少進行修改,更多的是對信息進行查詢操作。
1.4 相對穩定(Non-volatile)
“相對穩定”是指數據一旦進入數據倉庫,一般情況下會被長期保留,所涉及的數據操作也主要是查詢、分析,很少會被修改或刪除,通常也只需要定期地加載和刷新。相對穩定性保證了數據倉庫中的數據能夠真實地反映歷史變化。
2 數據倉庫的產生
數據倉庫是在數據庫基礎上發展而來的,通常包含三個部分內容:數據倉庫、聯機分析處理(0-LAP-On-Line Transaction Process)、數據挖掘(Data Mining)。從數據庫到數據倉庫的源驅動力來自組織或企業的業務發展需求。
早期的數據庫系統主要應用于日常事務的操作性處理,即OLTP,重點在于完成事務處理,在短時間內給予用戶響應,服務于操作型業務需求,可以稱之為“操作型數據庫”。
隨著業務應用不斷拓展,以及市場競爭不斷加劇,數據分析師和企業家們發現僅僅依靠聯機事務處理系統OLTP已經不足以獲得市場競爭的優勢,希望能夠從龐大的日常業務數據以及歷史歸檔數據中,分析發掘出潛在的、規律性的、更有價值的信息。用于對企業的業務運作以及市場的行業態勢進行分析判斷,從而做出正確的決策。這就推動了數據倉庫的產生,即服務于分析型業務需求的系統,可以稱之為“分析型數據庫”。
將操作型(事務處理)數據庫系統與分析型(決策支持)數據庫系統分離,主要有以下五個原因:
(1)業務應用的響應時間不同
在操作型(事務處理)計算環境中,其業務應用的處理特點是數據的存取操作頻率高,而每次操作處理的時間短。因此,用戶的業務請求往往在很短時間內即可完成,使得系統在多用戶并發訪問的情況下,也可以保持較高的實時響應速度。
在分析型(決策支持)計算環境中,其決策分析問題的解決,往往需要遍歷數據庫中的大部分數據,不僅需要消耗大量的系統資源,還可能導致長達數小時的運行。因此,用戶的業務請求并不要求瞬間響應,只要在允許的時間里給予響應即可。
(2)數據需求的集成要求不同
在操作型數據庫中,數據往往是分散而非集成的。主要原因有操作型(事務處理)應用分散的問題、“蜘蛛網”問題、數據不一致問題、外部數據和非結構化數據等問題。
在分析型數據庫中,首先需要解決的就是“數據集成”的問題。只有全面、廣泛、準確、相關的數據收集和有效集成,才有可能得到可信的分析結果。
(3)歷史數據的使用價值不同
操作型(事務處理)系統一般只處理當前數據,在數據庫中也只是短期存儲數據,且不同數據的保存期限也不一樣,即使有一些歷史數據保存下來了,無特殊需求一般不再訪問。
在分析型(決策支持)系統中,歷史數據是相當重要的,因為聯機分析處理與數據挖掘都需要以大量的、詳細的、且有一定時間、空間跨度的歷史數據為基礎,才可能發現潛在發展規律和趨勢走向。
(4)服務支持的用戶對象不同
操作型(事務處理)系統直接面向業務操作人員,提供數據處理支持。
分析型(決策支持)系統面向使用本系統的業務者和中高層管理人員,提供決策分析支持。
(5)數據的綜合問題
在事務處理系統中積累了大量的細節數據,一般而言,DSS并不對這些細節數據進行分析。在分析前,往往需要對細節數據進行不同程度的綜合。而事務處理系統不具備這種綜合能力,根據數據庫的規范化理論,這種綜合還往往因為是一種數據冗余而加以限制。這也是二者相矛盾的地方。
綜上所述,要提高分析和決策的有效性,必須把分析型數據從操作型(事務處理)環境中分離出來,按照分析型(決策支持)系統處理的需要進行重新組織,建立相應的分析處理環境。數據倉庫正是為了構建這種新的分析處理環境而出現的一種數據存儲、組織和處理技術。#p#
3 數據倉庫的概念模型與功能
數據倉庫是一種體系結構而不是一種技術。數據倉庫和數據庫及其他技術之間的關系就像體系結構與技術本身之間的關系。數據倉庫的概念結構包含:數據源、數據準備區、數據倉庫數據庫、數據集市/知識挖掘庫以及各種管理工具和應用工具等,如圖l所示。
從圖1可以看出,數據倉庫的創建、應用,可以利用各種數據倉庫管理工具輔助完成。數據倉庫建立之后,首先要從“數據源”中抽取相關的數據到“數據準備區”;在“數據準備區”中經過凈化處理后,再加載到“數據倉庫數據庫”;***根據用戶的需求將數據導入“數據集市”或“知識挖掘庫”中。用戶在使用數據倉庫時,主要利用兩類應用工具:一類是聯機分析處理(On-Line Analvtica1 Processing),主要用于分析歷史發展變化;另一類是數據挖掘(Date Mining) ,主要用于預測未來趨勢走向。
圖2展示的是數據倉庫的完整體系結構,一個數據倉庫的實施是按照圖2所示的過程進行的,也可以將圖2看做是數據倉庫的工程實施方法論。
圖2數據倉庫的體系結構
數據倉庫的實施分數據獲取、數據組織、數據應用和數據展示四個功能區。
(1)數據獲取區
數據獲取區主要包含數據源、數據轉換區、數據質量管理三個組成部分,實現數據倉庫模型建設、數據質量管理、數據源的定義、數據抽取、轉換清洗及加載等功能。
① 數據源
即數據倉庫中的數據來源,既包含組織內部的業務數據、歷史數據、辦公數據等,也包括互聯網卜的相關Web數據,以及部分其他數據結構的數據。
目前在國土資源行業中,就有大量的地政管理基礎數據庫和礦政管理基礎數據庫:如 1:50萬全國土地利用數據庫、***土地利用數據庫、土地利用遙感監測數據庫、***建設用地數據庫、全國礦業權管理數據庫、全國油氣礦產儲量數據庫等,還有一些歷史數據、辦公數據以及非結構化的數據等,均可作為國土數據倉庫的數據源。
② 數據轉換區(ETL)
由于數據倉庫的數據來源十分復雜,這些數據在進入數據倉庫之前必須在數據轉換區內進行預處理,完成數據獲取、數據轉換、數據加載等工作,并實現數據質量跟蹤監控以及元數據抽取與創建等工作。
③ 數據質量管理
數據倉庫的數據質量不但影響數據抽取轉換的開發周期和日常維護,并且還直接影響到最終結果。因此在數據倉庫的項目中,將數據質量的評估、管理和清洗設計進去,并融合在數據倉庫和ETL的建設過程中。
(2)數據組織區和數據應用區
數據組織區和數據應用區主要實現數據的存儲與管理。數據倉庫的數據組織管理方式決定了其有別于傳統數據庫的特性,也決定了對外的數據表現形式。主要技術涉及多維數據庫、海量數據管理、數據索引與監視、數據質量管理、元數據管理等方面。
數據組織區包含了數據倉庫建模,以及數據的集成與分解、概括與聚集、預算與推導、翻譯與格式化、轉換與映像等功能。元數據管理主要包含了元數據游覽與導航,元數據創建,創建詞匯表等功能。
數據倉庫實體模型是直接反映數據倉庫業務的邏輯視窗,根據組織的業務發展規劃與策略而制定。實體模型的設計應由業務人員與模型專家共同完成,要統籌規劃、總體設計、分步實施,既要考慮模型的完整性、靈活性,也要關注擴展能力和時效性,可以先從業務問題緊迫、數據源較完備的主題入手。實體模型設計一般采用第三范式、星型模型、雪花狀模型等。
數據倉庫的存取與使用主要為用戶提供決策分析和知識挖掘等功能,包括數據倉庫存取與檢索、分析與報告兩部分功能。其中,數據倉庫的存取與檢索為用戶提供了訪問數據倉庫或數據集市的功能,可以將用戶所檢索的數據轉換為多維數據并存入多維數據庫,包含數據倉庫的直接存取,數據集市存取,數據集市重整,轉換為多維結構,創建局部存儲等功能;數據倉庫的分析與報告為用戶使用數據倉庫提供了一組工具,用于幫助用戶對數據倉庫或數據集市進行聯機分析或數據挖掘,包括報表處理、分析與決策支持、業務建模與分析、數據挖掘等工具。
(3)數據展示區
數據展示區是數據倉庫的人機會話接口,包含了多維分析、數理統計、報表查詢、即席查詢、關鍵績效指標監控和數據挖掘等功能,并通過報表、圖形和其它分析工具,方便用戶簡便、快捷地訪問數據倉庫系統中的各種數據,得到分析結果。
數據展示區常用的標準報表和即席查詢報表是基于各類結構化數據的報表輸出,而各類結構化數據的內容包含關系型數據庫、多維數據庫、XML、文本及其他數據結構等。
4 數據倉庫的相關技術
數據倉庫構建了數據集市,這是面向某一主題、某一業務過程或者某一組業務過程應用的“數據倉庫”,是企業級數據倉庫的一個子集。
聯系源數據與數據倉庫的是數據登臺區,它是一個數據獲取過程,主要由數據抽取(Extract)、轉換(Transform)、清洗(Cleansing)、裝載(Load)等一系列工作構成,用于從數據源抽取出所需的數據,經過數據清洗,按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。
聯機分析處理主要用于對歷史發展規律進行分析,滿足在多維環境下特定的查詢和報表需求,提供決策支持。聯機分析處理(On-Line Analytical Processing)是一種普遍查詢過程,能夠根據分析人員的要求,迅速、靈活地對大量數據進行復雜的查詢處理,并以直觀、容易理解的形式將查詢結果提交給決策人員。
數據挖掘是一種決策支持過程,基于人工智能、機器學習、神經計算、統計分析等技術,能夠自動化地分析數據倉庫中的數據,進行歸納性推理和聯想,尋找數據間的某種內在聯系,從中發掘出潛在的、對信息預測和決策行為起著十分重要作用的模式,輔助決策支持。數據挖掘主要用于對未來發展趨勢進行預測。元數據作為數據的數據,主要用于對數據倉庫中的各種數據進行詳細的描述和說明,主要分為靜態元數據和動態元數據兩大類:靜態元數據主要與數據結構有關,包含名稱、描述、格式、數據類型、關系、域、業務規則等類;動態元數據主要與數據的狀態及使用方法有關,包括數據質量、統計信息、狀態、處理等類。
Ad hoc query:即席查詢,數據庫應用最普遍的一種查詢,利用數據倉庫技術,可以讓用戶隨時可以面對數據庫,獲取所希望的數據。
【編輯推薦】