1. 程式人生 > >OLAP(On-Line Analytical Processing)

OLAP(On-Line Analytical Processing)

統一 除了 周期 管理信息系統 對數 下標 沒有 效率 關系型數據庫

自20世紀80年代開始,許多企業利用關系型數據庫來存儲和管理業務數據,並建立相應的應用系統來支持日常的業務運作。這種應用以支持業務處理為主要目的,被稱為聯機事務處理(On line Transaction Processing,OLTP)應用,它所存儲的數據被稱為操作數據或者業務數據。
隨著數據庫技術的廣泛應用,企業信息系統產生了大量的業務數據,如何從這些海量的業務數據中提取出對企業決策分析有用的信息,這成為企業決策管理人員所面臨的重要難題。因此,人們逐漸嘗試對OLTP數據庫中的數據進行再加工,以形成一個綜合的、面服務對象、訪問方式、事務管理乃至物理存儲等方面都有不同的特點和要求,因此,直接在操作型數據庫上建立決策支持系統是不合適的。數據倉庫技術就是在這樣的背景下發展起來的。
隨著市場競爭的日趨激烈,企業更加強調決策的及時性和準確性,這使得以支持決策管理分析為主要目的的應用迅速崛起,這類應用被稱為聯機分析處理,它所存儲的數據被信息數據。
聯機分析處理的概念最早由關系數據庫之父E.F.Codd於1993年提出。Codd認為,聯機事務處理已不能滿足終端用戶對數據庫查詢分析的要求,SQL對大容量數據庫的簡單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對關系數據庫進行大量的計算才能得到結果,而查詢的結果並不能滿足決策者提出的需求。因此,Codd提出了多維數據庫和多維分析的概念,即OLAP。OLAP委員會對聯機分析處理的定義為:使分析人員、管理人員或執行人員能夠從多種角度對從原始數據中轉化出來的、能夠真正為用戶所理解的、並真實反映企業維特性的信息進行快速、一致、交互的存取,從而獲得對數據更深入了解的一類軟件技術。

聯機分析處理OLAP是一種軟件技術,它使分析人員能夠迅速、一致、交互地從各個方面觀察信息,以達到深入理解數據的目的。

它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多維信息的快速分析的特征。

其中F是快速性(Fast),指系統能在數秒內對用戶的多數分析要求做出反應;

A是可分析性(Analysis),指用戶無需編程就可以定義新的專門計算,將其作為分析的一部 分,並以用戶所希望的方式給出報告;

M是多維性(Multi—dimensional),指提供對數據分析的多維視圖和分析;

I是信息性(Information),指能及時獲得信息,並且管理大容量信息。


數據倉庫與OLAP的關系是互補的,現代OLAP系統一般以數據倉庫作為基礎,即從數據倉庫中抽取詳細數據的一個子集並經過必要的聚集存儲到OLAP存儲器中供前端分析工具讀取。
OLAP系統按照其存儲器的數據存儲格式可以分為關系OLAP(RelationalOLAP,簡稱ROLAP)、多維OLAP(MultidimensionalOLAP,簡稱MOLAP)和混合型OLAP(HybridOLAP,簡稱HOLAP)三種類型。

ROLAP
ROLAP將分析用的多維數據存儲在關系數據庫中並根據應用的需要有選擇的定義一批實視圖作為表也存儲在關系數據庫中。不必要將每一個SQL查詢都作為實視圖保存,只定義那些應用頻率比較高、計算工作量比較大的查詢作為實視圖。對每個針對OLAP服務器的查詢,優先利用已經計算好的實視圖來生成查詢結果以提高查詢效率。同時用作ROLAP存儲器的RDBMS也針對OLAP作相應的優化,比如並行存儲、並行查詢、並行數據管理、基於成本的查詢優化、位圖索引、SQL的OLAP擴展(cube,rollup)等等。
MOLAP
MOLAP將OLAP分析所用到的多維數據物理上存儲為多維數組的形式,形成“立方體”的結構。維的屬性值被映射成多維數組的下標值或下標的範圍,而總結數據作為多維數組的值存儲在數組的單元中。由於MOLAP采用了新的存儲結構,從物理層實現起,因此又稱為物理OLAP(PhysicalOLAP);而ROLAP主要通過一些軟件工具或中間軟件實現,物理層仍采用關系數據庫的存儲結構,因此稱為虛擬OLAP(VirtualOLAP)。
HOLAP
由於MOLAP和ROLAP有著各自的優點和缺點(如下表所示),且它們的結構迥然不同,這給分析人員設計OLAP結構提出了難題。為此一個新的OLAP結構——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP兩種結構的優點結合起來。迄今為止,對HOLAP還沒有一個正式的定義。但很明顯,HOLAP結構不應該是MOLAP與ROLAP結構的簡單組合,而是這兩種結構技術優點的有機結合,能滿足用戶各種復雜的分析請求。


聯機分析處理的主要特點,是直接仿照用戶的多角度思考模式,預先為用戶組建多維的數據模型,在這裏,維指的是用戶的分析角度。例如對銷售數據的分析,時間周期是一個維度,產品類別、分銷渠道、地理分布、客戶群類也分別是一個維度。一旦多維數據模型建立完成,用戶可以快速地從各個分析角度獲取數據,也能動態的在各個角度之間切換或者進行多角度綜合分析,具有極大的分析靈活性。這也是聯機分析處理被廣泛關註的根本原因,它從設計理念和真正實現上都與舊有的管理信息系統有著本質的區別。
事實上,隨著數據倉庫理論的發展,數據倉庫系統已逐步成為新型的決策管理信息系統的解決方案。數據倉庫系統的核心是聯機分析處理,但數據倉庫包括更為廣泛的內容。
概括來說,數據倉庫系統是指具有綜合企業數據的能力,能夠對大量企業數據進行快速和準確分析,輔助做出更好的商業決策的系統。它本身包括三部分內容:
1、數據層:實現對企業操作數據的抽取、轉換、清洗和匯總,形成信息數據,並存儲在企業級的中心信息數據庫中。
2、應用層:通過聯機分析處理,甚至是數據挖掘等應用處理,實現對信息數據的分析。
3、表現層:通過前臺分析工具,將查詢報表、統計分析、多維聯機分析和數據發掘的結論展現在用戶面前。
從應用角度來說,數據倉庫系統除了聯機分析處理外,還可以采用傳統的報表,或者采用數理統計和人工智能等數據挖掘手段,涵蓋的範圍更廣;就應用範圍而言,聯機分析處理往往根據用戶分析的主題進行應用分割,例如:銷售分析、市場推廣分析、客戶利潤率分析等等,每一個分析的主題形成一個OLAP應用,而所有的OLAP應用實際上只是數據倉庫系統的一部分。

OLAP(On-Line Analytical Processing)