-
聯機分析處理
鎖定
聯機分析處理OLAP是一種軟件技術,它使分析人員能夠迅速、一致、交互地從各個方面觀察信息,以達到深入理解數據的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多維信息的快速分析的特徵。其中F是快速性(Fast),指系統能在數秒內對用户的多數分析要求做出反應;A是可分析性(Analysis),指用户無需編程就可以定義新的專門計算,將其作為分析的一部 分,並以用户所希望的方式給出報告;M是多維性(Multi—dimensional),指提供對數據分析的多維視圖和分析;I是信息性(Information),指能及時獲得信息,並且管理大容量信息。
[1]
- 中文名
- 聯機分析處理
- 外文名
- Online Analytical Processing
- 別 名
- 聯機分析
- 簡 寫
- OLAP
聯機分析處理發展背景
自20世紀80年代開始,許多企業利用關係型數據庫來存儲和管理業務數據,並建立相應的應用系統來支持日常的業務運作。這種應用以支持業務處理為主要目的,被稱為聯機事務處理(On line Transaction Processing,OLTP)應用,它所存儲的數據被稱為操作數據或者業務數據。
隨着數據庫技術的廣泛應用,企業信息系統產生了大量的業務數據,如何從這些海量的業務數據中提取出對企業決策分析有用的信息,這成為企業決策管理人員所面臨的重要難題。因此,人們逐漸嘗試對OLTP數據庫中的數據進行再加工,以形成一個綜合的、面向服務對象、訪問方式、事務管理乃至物理存儲等方面都有不同的特點和要求,因此,直接在操作型數據庫上建立決策支持系統是不合適的。數據倉庫技術就是在這樣的背景下發展起來的。
聯機分析處理的概念最早由關係數據庫之父E.F.Codd於1993年提出。Codd認為,聯機事務處理已不能滿足終端用户對數據庫查詢分析的要求,SQL對大容量數據庫的簡單查詢也不能滿足用户分析的需求。用户的決策分析需要對關係數據庫進行大量的計算才能得到結果,而查詢的結果並不能滿足決策者提出的需求。因此,Codd提出了多維數據庫和多維分析的概念,即OLAP。OLAP委員會對聯機分析處理的定義為:使分析人員、管理人員或執行人員能夠從多種角度對從原始數據中轉化出來的、能夠真正為用户所理解的、並真實反映企業維特性的信息進行快速、一致、交互的存取,從而獲得對數據更深入瞭解的一類軟件技術。
[2]
聯機分析處理邏輯概念
OLAP展現在用户面前的是一幅幅多維視圖。維(Dimension):是人們觀察數據的特定角度,是考慮問題時的一類屬性,屬性集合構成一個維(時間維、地理維等)。
維的層次(Level):人們觀察數據的某個特定角度(即某個維)還可以存在細節程度不同的各個描述方面(時間維:日期、月份、季度、年)。
OLAP的基本多維分析操作有鑽取(Drill-up和Drill-down)、切片(Slice)和切塊(Dice)、以及旋轉(Pivot)等。
鑽取:是改變維的層次,變換分析的粒度。它包括向下鑽取(Drill-down)和向上鑽取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節數據概括到高層次的彙總數據,或者減少維數;而Drill-down則相反,它從彙總數據深入到細節數據進行觀察或增加新維。
切片和切塊:是在一部分維上選定值後,關心度量數據在剩餘維上的分佈。如果剩餘的維只有兩個,則是切片;如果有三個或以上,則是切塊。
旋轉:是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
聯機分析處理體系結構
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)切片和切塊(Slice and Dice)
切片和切塊是在維上做投影操作。
切片就是在多維數據上選定一個二維子集的操作,即在某兩個維上取一定區間的維成員或全部維成員,而在其餘的維上選定一個維成員的操作。
維是觀察數據的角度,那麼切片的作用或結果就是捨棄一些觀察角度,使人們能在兩個維上集中觀察數據。因為人的空間想象能力畢竟有限,一般很難想象四維以上的空間結構,所以對於維數較多的多維數據空間,數據切片是十分有意義的.
(2)鑽取(Drill)
鑽取有向下鑽取(Drill Down)和向上鑽取(Drill up)操作。向下鑽取是使用户在多層數據中展現漸增的細節層次,獲得更多的細節性數據。向上鑽取以漸增概括方式彙總數據(例如,從周到季度,再到年度)。
(3)旋轉(Pivoting)
通過旋轉可以得到不同視角的數據。旋轉操作相當於在平面內將座標軸旋轉。例如,旋轉可能包含了交換行和列,或是把某一個行維移到列維中去,或是把頁面顯示中的一個維和頁面外的維進行交換(令其成為新的行或列中的一個)。
聯機分析處理廣義功能
從廣義上講,任何能夠有助於輔助用户理解數據的技術或者操作都可以作為OLAP功能,這些有別於基本OLAP的功能被稱為廣義OLAP功能。
(1)基本代理操作
“代理”是一些智能性代理,當系統處於某種特殊狀態時提醒分析員。
①示警報告:定義一些條件,一旦條件滿足,系統會提醒分析員去做分析。如每日報告完成或月訂貨完成等通知分析員作分析。
②時間報告:按日曆和時鐘提醒分析員。
③異常報告:當超出邊界條件時提醒分析員。如銷售情況已超出預定義閾值的上限或下限時提醒分析員。
(2)計算能力
計算引擎用於特定需求的計算或某種複雜計算。
(3)模型計算
聯機分析處理特點
聯機分析處理的主要特點,是直接仿照用户的多角度思考模式,預先為用户組建多維的數據模型,在這裏,維指的是用户的分析角度。例如對銷售數據的分析,時間週期是一個維度,產品類別、分銷渠道、地理分佈、客户羣類也分別是一個維度。一旦多維數據模型建立完成,用户可以快速地從各個分析角度獲取數據,也能動態的在各個角度之間切換或者進行多角度綜合分析,具有極大的分析靈活性。這也是聯機分析處理被廣泛關注的根本原因,它從設計理念和真正實現上都與舊有的管理信息系統有着本質的區別。
概括來説,數據倉庫系統是指具有綜合企業數據的能力,能夠對大量企業數據進行快速和準確分析,輔助做出更好的商業決策的系統。它本身包括三部分內容:
1、數據層:實現對企業操作數據的抽取、轉換、清洗和彙總,形成信息數據,並存儲在企業級的中心信息數據庫中。
2、應用層:通過聯機分析處理,甚至是數據挖掘等應用處理,實現對信息數據的分析。
3、表現層:通過前台分析工具,將查詢報表、統計分析、多維聯機分析和數據發掘的結論展現在用户面前。