1. 程式人生 > >資料倉庫定義及特點

資料倉庫定義及特點

           資料倉庫之父Bill Inmon在1991年出版的“Building the Data Warehouse”一書中所提出的定義被廣泛接受:資料倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、整合的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的資料集合,用於支援管理決策(Decision Making Support)。

資料倉庫特點


    1、面向主題。操作型資料庫的資料組織面向事務處理任務,各個業務系統之間各自分離,而資料倉庫中的資料是按照一定的主題域進行組織。主題是一個抽象的概念,是指使用者使用資料倉庫

進行決策時所關心的重點方面,一個主題通常與多個操作型資訊系統相關。


    2、整合的。面向事務處理的操作型資料庫通常與某些特定的應用相關,資料庫之間相互獨立,並且往往是異構的。而資料倉庫中的資料是在對原有分散的資料庫資料抽取、清理的基礎上經過系統加工、彙總和整理得到的,必須消除源資料中的不一致性,以保證資料倉庫內的資訊是關於整個企業的一致的全域性資訊。


    3、相對穩定的。操作型資料庫中的資料通常實時更新,資料根據需要及時發生變化。資料倉庫的資料主要供企業決策分析之用,所涉及的資料操作主要是資料查詢,一旦某個資料進入資料倉庫以後,一般情況下將被長期保留,也就是資料倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的載入、重新整理。


    4、反映歷史變化。操作型資料庫主要關心當前某一個時間段內的資料,而資料倉庫中的資料通常包含歷史資訊,系統記錄了企業從過去某一時點(如開始應用資料倉庫的時點)到目前的各個階段的資訊,通過這些資訊,可以對企業的發展歷程和未來趨勢做出定量分析和預測。

資料倉庫中的資料包括:元資料、粒度資料、當前詳細資料,歷史資料、檔案資料。

1、當前詳細資料:是資訊倉庫的核心,存放大量資料。資料來自業務操作資料庫,通過主題來組織,不是代表特定應用,而是代表整個企業。在倉庫中資料粒度最低,當資料精確化時,其中的每一個數據實體都是一個快照、一個時刻,表示一個瞬間。一旦需要經常支援企業需求,資料隨即進行更新。

2、歷史資料:以前的有意義資料(一般兩年以上),給企業帶來延續的利益和價值。包含巨大的資料量,可以用來預測和趨勢分析。包括:舊資料(原始或彙總形式)、描述舊資料特徵的元資料。

3、元資料:最重要的部分,關於資料的資料。也稱為資料倉庫的結構,是所有資料的整合體現。倉庫開發者使用元資料來管理和控制倉庫的建立和維護。

4、粒度資料:定義為資料倉庫所保持的資訊的概要程度。不同粒度表示為不同級別的彙總資料。彙總資料是資訊倉庫的特點,所有的企業資料分類(按部門、地區、功能等)需要的資訊都不同,同時有效的資訊倉庫設計是為不同風格提供的,輕量級彙總資料為整個企業組成部分服務。通過企業資料分類找到詳細和彙總資料。但是它依舊比倉庫中的詳細資料少得多。高度彙總資料是企業執行的主要依據,它來自根據企業組成部分的輕量級彙總資料或來自當前詳細資料。這一層的資料容量比其他任何一個都少,代表一個折衷的積累,用來支援廣泛的各式的需要和興趣。通過高度彙總,執行者能夠使用“鑽取”到達逐步增加的詳細層。

  資料倉庫的基本架構

資料倉庫的目的是構建面向分析的整合化資料環境,為企業提供決策支援(Decision Support)。其實資料倉庫本身並不“生產”任何資料,同時自身也不需要“消費”任何的資料,資料來源於外部,並且開放給外部應用,這也是為什麼叫“倉庫”,而不叫“工廠”的原因。因此資料倉庫的基本架構主要包含的是資料流入流出的過程,可以分為三層——源資料、資料倉庫、資料應用:

從圖中可以看出資料倉庫的資料來源於不同的源資料,並提供多樣的資料應用,資料自上而下流入資料倉庫後向上層開放應用,而資料倉庫只是中間整合化資料管理的一個平臺。

資料倉庫的資料來源
資料倉庫從各資料來源獲取資料及在資料倉庫內的資料轉換和流動都可以認為是ETL(抽取Extra, 轉化Transfer, 裝載Load)的過程,ETL是資料倉庫的流水線,也可以認為是資料倉庫的血液,它維繫著資料倉庫中資料的新陳代謝,而資料倉庫日常的管理和維護工作的大部分精力就是保持ETL的正常和穩定。
資料倉庫的資料儲存
資料倉庫並不需要儲存所有的原始資料,同時資料倉庫需要儲存部分細節資料。簡單地解釋下:
a.為什麼不需要所有原始資料?資料倉庫面向分析處理,但是某些源資料對於分析而言沒有價值或者其可能產生的價值遠低於儲存這些資料所需要的資料倉庫的實現和效能上的成本。比如我們知道使用者的省份、城市足夠,至於使用者究竟住哪裡可能只是物流商關心的事,或者使用者在部落格的評論內容可能只是文字挖掘會有需要,但將這些冗長的評論文字存在資料倉庫就得不償失;
b.為什麼要存細節資料?細節資料是必需的,資料倉庫的分析需求會時刻變化,而有了細節資料就可以做到以不變應萬變。如果我們只儲存根據某些需求搭建起來的資料模型,那麼顯然對於頻繁變動的需求會手足無措;
資料倉庫基於維護細節資料的基礎上在對資料進行處理,使其真正地能夠應用於分析。主要包括三個方面:
1.資料的聚合
這裡的聚合資料指的是基於特定需求的簡單聚合(基於多維資料的聚合體現在多維資料模型中),簡單聚合可以是網站的總Pageviews、Visits、Unique Visitors等彙總資料,也可以是Avg. time on page、Avg. time on site等平均資料,這些資料可以直接地展示於報表上。
2.多維資料模型
多維資料模型提供了多角度多層次的分析應用,比如基於時間維、地域維等構建的銷售星形模型、雪花模型,可以實現在各時間維度和地域維度的交叉查詢,以及基於時間維和地域維的細分。所以資料倉庫面向特定群體的資料集市都是基於多維資料模型進行構建的。
3.業務模型
這裡的業務模型指的是基於某些資料分析和決策支援而建立起來的資料模型,比如我之前介紹過的使用者評價模型、關聯推薦模型、RFM分析模型等,或者是決策支援的線性規劃模型、庫存模型等;同時,資料探勘中前期資料的處理也可以在這裡完成。
資料倉庫的資料應用
報表展示
報表幾乎是每個資料倉庫的必不可少的一類資料應用,將聚合資料和多維分析資料展示到報表,提供了最為簡單和直觀的資料。
即時查詢
理論上資料倉庫的所有資料(包括細節資料、聚合資料、多維資料和分析資料)都應該開放即時查詢,即時查詢提供了足夠靈活的資料獲取方式,使用者可以根據自己的需要查詢獲取資料。
資料分析
資料分析大部分基於構建的業務模型展開,當然也可以使用聚合的資料進行趨勢分析、比較分析、相關分析等,而多維資料模型提供了多維分析的資料基礎;同時從細節資料中獲取一些樣本資料進行特定的分析也是較為常見的一種途徑。
資料探勘
資料探勘用一些高階的演算法可以讓資料展現出各種令人驚訝的結果。資料探勘可以基於資料倉庫中已經構建起來的業務模型展開,但大多數時候資料探勘會直接從細節資料上入手,而資料倉庫為挖掘工具諸如SAS、SPSS等提供資料介面。

元資料
資料倉庫環境中一個重要方面是元資料。元資料是關於資料的資料。只要有程式和資料,元資料就是資訊處理環境的一部分。但是在資料倉庫中,元資料扮演一個新的重要角色。也正因為有了元資料,可以最有效地利用資料倉庫。元資料使得終端使用者/ DSS分析員能夠探索各種可能性。
元資料在資料倉庫的上層,並且記錄資料倉庫中物件的位置。典型地,元資料記錄:
程式設計師所知的資料結構。
DSS分析員所知的資料結構。
資料倉庫的源資料。
資料加入資料倉庫時的轉換。
資料模型。
資料模型和資料倉庫的關係。
抽取資料的歷史記錄。