數據的兩種組織形式:操作數據和分析數據
發表于:2008-05-05來源:作者:點擊數:
標簽:組織形式數據
上一章簡單實現了福馬特連鎖超市的商業智能應用。在這個過程中會發現,OLAP分析、前端展現及數據挖掘都有一個共同的基礎,這就是數據倉庫。數據倉庫來源于 數據庫 ,其本身也是由數據庫管理系統進行管理,但是它的結構、功能和設計都與傳統的數據庫設計方法不
上一章簡單實現了福馬特連鎖超市的商業智能應用。在這個過程中會發現,OLAP分析、前端展現及數據挖掘都有一個共同的基礎,這就是數據倉庫。數據倉庫來源于
數據庫,其本身也是由數據庫管理系統進行管理,但是它的結構、功能和設計都與傳統的數據庫設計方法不同,上一章我們只是直接給出了數據倉庫的設計方案,但是,知其然,還要知其所以然,本章將會對數據倉庫的設計進行深入學習,把復雜的數據倉庫與商業智能理論融入到具體的操作中,探究構建數據倉庫的理論和方法。
數據倉庫的設計是數據分析應用中十分重要的一環,涉及到的理論
知識很多。這一章將結合一個復雜的數據倉庫設計示例學習設計數據倉庫的方法和技巧。在進入具體設計工作之前,先要掌握業務上使用的數據和分析中使用的數據的區別。
3.1 數據的兩種組織形式:操作數據和分析數據
當同一數據使用不同組織形式的時候,其作用也有所不同。把企業中需要使用的這些數據形式進行分類,一般可以分成兩類:操作數據和分析數據。這兩種數據都可以存儲在DBMS中進行管理。它們的組織形式實際上源于并作用于兩種系統:操作型系統和分析型系統。
3.1.1 操作型系統和分析型系統的分離
傳統的企業信息化實現的是用計算機信息處理代替人工信息處理,主要解決的是業務上的數據流問題。隨著這類系統的逐漸增多,便針對這些系統產生了數據的多維信息查詢
需求,于是用于事務處理的數據環境和用于數據分析的數據環境的分離就成為了必然。
操作型處理以傳統的數據庫為中心進行企業的日常業務處理。比如連鎖超市每一種商品的進貨處理和每一筆銷售業務的處理等。
分析型處理以數據倉庫為中心分析數據背后的關聯和規律,為企業的決策提供可靠有效的依據。比如,通過對超市近期數據進行分析可以發現近期暢銷的產品,從而為公司的采購部門提供指導信息。又如,對于一個大型的連鎖超市,如果能夠將各個營業點不同時期的營業情況以非常直觀的方式展現給管理人員,則管理人員可以根據這些分析結果決定是否需要撤銷營業情況極差的營業點,而在客戶流量特別大的超市附近增設營業網點。
操作型系統的使用人員通常是企業的具體操作人員,處理的數據通常是企業業務的細節信息,其目標是實現企業的業務運營;而分析型系統的使用人員通常是企業的中高層的管理者,或者是從事數據分析的工程師。分析型系統包含的信息往往是企業的宏觀信息而非具體的細節,其目的是為企業的決策者提供支持信息,操作型系統和分析型系統的劃分如圖3-1所示。

操作型處理和分析型處理的分離,劃清了數據處理的分析型環境與操作型環境之間的界限,從而由原來以單一數據庫為中心的數據環境發展為以數據庫為中心的業務處理系統和以數據倉庫為基礎的分析系統。企業的生產環境,也由以數據庫為中心的環境發展為以數據倉庫為中心的環境。操作型系統根據其特點也稱聯機事務處理(OLTP),存儲操作數據,稱為數據庫。分析型系統也稱聯機分析處理(OLAP),一般把存儲分析數據的數據庫稱為數據倉庫。
3.1.2 事務處理和分析處理的對比
OLAP系統與OLTP系統從本質上來說是不同的。許多OLTP中的功能需求和OLAP的功能需求都不一致,有的甚至是相反的。表3-1是2種數據處理系統的功能特點比較。
表3-1 OLAP與OLTP功能特點對比

由表3-1可見,OLAP與OLTP是2類不同的應用,OLTP面對的是操作人員和低層管理人員,OLAP面對的是決策人員和高層管理人員;OLTP是對基本數據的查詢、增、刪和改操作處理,它以數據庫為基礎,而OLAP更適合以數據倉庫為基礎的數據分析處理。OLAP中歷史的、導出的及經綜合提煉的數據均來自OLTP所依賴的底層數據庫。OLAP數據較之OLTP數據要多一步數據多維化或預綜合處理,建立不同級別的統計數據,從而滿足快速統計分析和查詢的要求。除了數據及處理上的不同外,OLAP前端產品的界面風格及數據訪問方式也同OLTP有別,OLAP多采用便于非數據處理專業人員理解的方式(如多維報表和統計圖形),查詢提出及數據輸出直觀靈活,用戶可以方便地進行逐層細化、切塊與切片和數據旋轉等操作(詳見第6 章);而OLTP多為操作人員經常用到的固定表格,查詢及數據顯示也比較固定和規范。例如,在第2章用Reporting Service和Excel 2007為福馬特商店創建的多維分析報表實際上就是OLAP系統運行的結果。
有了以上事務處理和分析處理的區別和聯系,就可以相應地得出操作型數據和分析型數據的關系。
3.1.3 操作型數據與分析型數據的對比
由上面對業務操作和商務分析2種過程的比較可知,如果把用于OLTP系統的數據直接應用于商務數據分析和決策支持活動就會面臨許多困難。主要表現在4個方面。其一是事務處理的數據之間往往需要用復雜的關系來保證快捷性、一致性和實時性,要將其用于分析,則需要創建特殊查詢語句,而此項工作只有數據庫技術專家才能做好,這很明顯不符合進行商務數據分析的用戶群的需要;其二是在進行事務處理的系統中進行大量的數據分析,會影響在線事務的處理速度和
性能;其三是在事務處理數據庫中執行復雜的查詢時,會由于速度過慢而影響分析的效率和決策的執行;最后,事務處理數據庫中的數據會由于經常改變而影響數據分析的一致性。
功能決定其結構。按照表3-1對OLTP和OLAP的功能對比,可以對應地得出其相應數據的區別,如表3-2所示。
表3-2 操作型數據與分析型數據的區別

由上表可知,操作數據是處于不斷變換和更新之中的,屬于動態數據。比如通過訂單輸入程序輸入的訂單數據就屬于操作數據。
分析數據是主要用于對經營業務進行分析,因而用的是歷史數據,通常都不會隨著時間的推移而發生變化,因此屬于靜態數據。只有在原始信息錯誤的情況下,分析數據才會有變動。比如某個時間點的銷售額是最終數據,是不可逆的,它可以用于分析銷售情況,屬于分析數據。分析數據通常是從動態數據源遷移到靜態數據源的,因而主要來源于操作數據。環境的變化可能為分析帶來其他影響因素,因而來自外部的額外信息也可能是分析數據所需要的。下面就在對比這兩類數據的基礎上,明確數據倉庫的特點。
3.1.4 數據倉庫的特點
數據倉庫的特點可以從數據倉庫的定義來理解。目前數據倉庫的定義是不統一的。公認的數據倉庫之父 W.Hinmon將其定義為:“數據倉庫是支持管理決策過程的、面向主題的、集成的、隨時間而變的、持久的數據集合?!彼赋隽藬祿}庫面向主題、集成、穩定和隨時間變化這4個最重要的特征。
1.面向主題
業務系統是以優化事務處理的方式來構造數據結構的,對于某個主題的數據常常分布在不同的業務數據庫中。這對于商務分析和決策支持來說是極為不利的,因為這意味著訪問某個主題的數據實際上需要去訪問多個分布在不同數據庫中的數據集合。
對于商務分析來說,典型的主題域有客戶、產品、交易(銷售)和收益等。例如在圖3-2中示例了一個以零售業為主的企業情況。該企業在以前的企業信息化中已經構建了消費數據庫、客戶服務數據庫和市場信息數據庫。其中,消費數據庫記錄了客戶對不同產品的消費情況,客戶服務數據庫記錄了客戶的咨詢和投訴情況。這2個數據都是客戶主題的相關數據。如果直接使用業務系統進行決策支持,則需要分別訪問這2個數據庫才能獲得客戶各個側面的信息,這樣將極大的浪費系統處理的時間和效率,并且數據之間的不一致性和不同步問題,將極大影響決策的
可靠性。
基于以上的原因,數據倉庫將這些數據集中于一個地方,在這種結構中,對應某個主題的全部數據被存放在同一數據表中,這樣決策者可以非常方便地在數據倉庫中的一個位置檢索包含某個主題的所有數據。在圖3-2中,有客戶和市場兩個分析主題,客戶主題可以從消費數據庫和客戶服務數據庫中獲得客戶消費和咨詢等全方位的信息;市場主題可以從市場信息數據庫分析市場的發展趨勢。這種按主題的數據組織方法,極大地方便了數據分析的過程。主題的具體分析過程將在下一節學習。