聯(lián)機分析處理 (
OLAP) 的概念最早是由關(guān)系
數據庫之父E.F.Codd于1993年提出的,他同時(shí)提出了關(guān)于OLAP的12條準則。OLAP的提出引起了很大的
反響,OLAP作為一
類(lèi)產(chǎn)品同
聯(lián)機事務(wù)處理 (
OLTP) 明顯區分開(kāi)來(lái)。
Codd提出OLAP的12條準則來(lái)描述OLAP系統:
準則1 OLAP模型必須提供多維概念
視圖準則2 透明性準則
準則3 存取能力推測
準則4 穩定的報表能力
準則5 客戶(hù)/服務(wù)器
體系結構準則6 維的等同性準則
準則7 動(dòng)態(tài)的稀疏矩陣處理準則
準則8 多用戶(hù)支持能力準則
準則9 非受限的跨維操作
準則10 直觀(guān)的數據操縱
準則11 靈活的報表生成
準則12 不受限的維與聚集層次
當今的數據處理大致可以分成兩大類(lèi):聯(lián)機事務(wù)處理OLTP(on-line transaction processing)、聯(lián)機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關(guān)系型數據庫的主要應用,主要是基本的、日常的事務(wù)處理,例如銀行交易。OLAP是
數據倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀(guān)易懂的查詢(xún)結果。下表列出了OLTP與OLAP之間的比較。
OLTP
OLAP
用戶(hù)
操作人員,低層管理人員
決策人員,高級管理人員
功能
日常操作處理
分析決策
DB 設計
面向應用
面向主題
數據
當前的, 最新的細節的, 二維的分立的
歷史的, 聚集的, 多維的集成的, 統一的
存取
讀/寫(xiě)數十條記錄
讀上百萬(wàn)條記錄
工作單位
簡(jiǎn)單的事務(wù)
復雜的查詢(xún)
用戶(hù)數
上千個(gè)
上百個(gè)
DB 大小
100MB-GB
100GB-TB
一、OLAP的發(fā)展背景
隨著(zhù)數據庫技術(shù)的廣泛應用,企業(yè)
信息系統產(chǎn)生了大量的數據,如何從這些海量數據中提取對企業(yè)決策分析有用的信息成為企業(yè)決策管理人員所面臨的重要難題。傳統的企業(yè)
數據庫系統(
管理信息系統)即聯(lián)機事務(wù)處理系統(On-LineTransactionProcessing,簡(jiǎn)稱(chēng)OLTP)作為數據管理手段,主要用于事務(wù)處理,但它對分析處理的支持一直不能令人滿(mǎn)意。因此,人們逐漸嘗試對OLTP數據庫中的數據進(jìn)行再加工,形成一個(gè)綜合的、面向分析的、更好的支持決策制定的
決策支持系統(DecisionSupportSystem,簡(jiǎn)稱(chēng)
DSS)。企業(yè)目前的信息系統的數據一般由
DBMS管理,但決策數據庫和運行操作數據庫在數據來(lái)源、數據內容、數據
模式、服務(wù)
對象、訪(fǎng)問(wèn)方式、事務(wù)管理乃至無(wú)力存儲等方面都有不同的特點(diǎn)和要求,因此直接在運行操作的數據庫上建立DSS是不合適的。數據倉庫(DataWarehouse)技術(shù)就是在這樣的背景下發(fā)展起來(lái)的。數據倉庫的概念提出于20世紀80年代中期,20世紀90年代,數據倉庫已從早起的探索階段走向實(shí)用階段。業(yè)界公認的數據倉庫概念創(chuàng )始人W.H.Inmon在《BuildingtheDataWarehouse》一書(shū)中對數據倉庫的定義是:“數據倉庫是支持管理決策過(guò)程的、面向主題的、集成的、隨時(shí)間變化的持久的數據集合”。構建數據倉庫的過(guò)程就是根據預先設計好的邏輯模式從分布在企業(yè)內部各處的OLTP數據庫中提取數據并對經(jīng)過(guò)必要的變換最終形成全企業(yè)統一模式數據的過(guò)程。當前數據倉庫的核心仍是RDBMS管理下的一個(gè)數據庫系統。數據倉庫中數據量巨大,為了提高性能,RDBMS一般也采取一些提高效率的措施:采用并行處理結構、新的數據組織、查詢(xún)策略、索引技術(shù)等等。
包括聯(lián)機分析處理(On-LineAnalyticalProcessing,簡(jiǎn)稱(chēng)OLAP)在內的諸多應用牽引驅動(dòng)了數據倉庫技術(shù)的出現和發(fā)展;而數據倉庫技術(shù)反過(guò)來(lái)又促進(jìn)了OLAP技術(shù)的發(fā)展。聯(lián)機分析處理的概念最早由關(guān)系數據庫之父E.F.Codd于1993年提出的。Codd認為聯(lián)機事務(wù)處理(OLTP)已不能滿(mǎn)足終端用戶(hù)對數據庫查詢(xún)分析的要求,
SQL對大數據庫的簡(jiǎn)單查詢(xún)也不能滿(mǎn)足用戶(hù)分析的
需求。用戶(hù)的決策分析需要對關(guān)系數據庫進(jìn)行大量計算才能得到結果,而查詢(xún)的結果并不能滿(mǎn)足決策者提出的需求。因此,Codd提出了多維數據庫和多維分析的概念,即OLAP。OLAP委員會(huì )對聯(lián)機分析處理的定義為:使分析人員、管理人員或執行人員能夠從多種角度對從
原始數據中轉化出來(lái)的、能夠真正為用戶(hù)所理解的、并真實(shí)反映企業(yè)維特性的信息進(jìn)行快速、一致、交互地存取,從而獲得對數據的更深入了解的一類(lèi)
軟件技術(shù)。OLAP的目標是滿(mǎn)足決策支持或多維環(huán)境特定的查詢(xún)和報表需求,它的技術(shù)核心是“維”這個(gè)概念,因此OLAP也可以說(shuō)是多維數據分析工具的集合。
二、聯(lián)機分析處理的特點(diǎn)
在過(guò)去的二十年中,大量的企業(yè)利用關(guān)系型數據庫來(lái)存儲和管理業(yè)務(wù)數據,并建立相應的應用系統來(lái)支持日常業(yè)務(wù)運作。這種應用以支持業(yè)務(wù)處理為主要目的,被稱(chēng)為聯(lián)機事務(wù)處理(OLTP,On-line Transaction Processing)應用,它所存儲的數據被稱(chēng)為操作數據或者業(yè)務(wù)數據。
隨著(zhù)市場(chǎng)競爭的日趨激烈,近年來(lái)企業(yè)更加強調決策的及時(shí)性和準確性,這使得以支持決策管理分析為主要目的的應用迅速崛起,這類(lèi)應用被稱(chēng)為聯(lián)機分析處理,它所存儲的數據被稱(chēng)為信息數據。
聯(lián)機分析處理的用戶(hù)是企業(yè)中的專(zhuān)業(yè)分析人員及管理決策人員,他們在分析業(yè)務(wù)經(jīng)營(yíng)的數據時(shí),從不同的角度來(lái)審視業(yè)務(wù)的衡量指標是一種很自然的思考模式。例如分析銷(xiāo)售數據,可能會(huì )綜合時(shí)間周期、產(chǎn)品類(lèi)別、分銷(xiāo)渠道、地理分布、客戶(hù)群類(lèi)等多種因素來(lái)考量。這些分析角度雖然可以通過(guò)報表來(lái)反映,但每一個(gè)分析的角度可以生成一張報表,各個(gè)分析角度的不同組合又可以生成不同的報表,使得IT人員的工作量相當大,而且往往難以跟上管理決策人員思考的步伐。
聯(lián)機分析處理的主要特點(diǎn),是直接仿照用戶(hù)的多角度思考模式,預先為用戶(hù)組建多維的數據模型,在這里,維指的是用戶(hù)的分析角度。例如對銷(xiāo)售數據的分析,時(shí)間周期是一個(gè)維度,產(chǎn)品類(lèi)別、分銷(xiāo)渠道、地理分布、客戶(hù)群類(lèi)也分別是一個(gè)維度。一旦多維數據模型建立完成,用戶(hù)可以快速地從各個(gè)分析角度獲取數據,也能動(dòng)態(tài)的在各個(gè)角度之間切換或者進(jìn)行多角度綜合分析,具有極大的分析靈活性。這也是聯(lián)機分析處理在近年來(lái)被廣泛關(guān)注的根本原因,它從設計理念和真正實(shí)現上都與舊有的管理信息系統有著(zhù)本質(zhì)的區別。
事實(shí)上,隨著(zhù)數據倉庫理論的發(fā)展,數據倉庫系統已逐步成為新型的決策管理信息系統的解決方案。數據倉庫系統的核心是聯(lián)機分析處理,但數據倉庫包括更為廣泛的內容。
-概括來(lái)說(shuō),數據倉庫系統是指具有綜合企業(yè)數據的能力,能夠對大量企業(yè)數據進(jìn)行快速和準確分析,輔助做出更好的商業(yè)決策的系統。它本身包括三部分內容:
數據層。實(shí)現對企業(yè)操作數據的抽取、轉換、清洗和匯總,形成信息數據,并存儲在企業(yè)級的中心信息數據庫中。
應用層。通過(guò)聯(lián)機分析處理,甚至是
數據挖掘等應用處理,實(shí)現對信息數據的分析。
表現層。通過(guò)前臺分析工具,將查詢(xún)報表、統計分析、多維聯(lián)機分析和數據發(fā)掘的結論展現在用戶(hù)面前。
從應用角度來(lái)說(shuō),數據倉庫系統除了聯(lián)機分析處理外,還可以采用傳統的報表,或者采用數理統計和
人工智能等數據挖掘手段,涵蓋的范圍更廣;就應用范圍而言,聯(lián)機分析處理往往根據用戶(hù)分析的主題進(jìn)行應用分割,例如:銷(xiāo)售分析、市場(chǎng)推廣分析、客戶(hù)利潤率分析等等,每一個(gè)分析的主題形成一個(gè)OLAP應用,而所有的OLAP應用實(shí)際上只是數據倉庫系統的一部分。
三、OLAP邏輯概念和典型操作
OLAP展現在用戶(hù)面前的是一幅幅多維視圖。
維(Dimension):是人們觀(guān)察數據的特定角度,是考慮問(wèn)題時(shí)的一類(lèi)屬性,屬性集合構成一個(gè)維(時(shí)間維、地理維等)。
維的層次(Level):人們觀(guān)察數據的某個(gè)特定角度(即某個(gè)維)還可以存在細節程度不同的各個(gè)描述方面(時(shí)間維:日期、月份、季度、年)。
維的成員(Member):維的一個(gè)取值,是數據項在某維中位置的描述。(“某年某月某日”是在時(shí)間維上位置的描述)。
度量(Measure):多維數組的取值。(2000年1月,上海,筆記本
電腦,$100000)。
OLAP的基本多維分析操作有
鉆取(Drill-up和Drill-down)、切片(Slice)和切塊(Dice)、以及旋轉(Pivot)等。
鉆?。菏歉淖兙S的層次,變換分析的粒度。它包括向下鉆?。―rill-down)和向上鉆?。―rill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而Drill-down則相反,它從匯總數據深入到細節數據進(jìn)行觀(guān)察或增加新維。
切片和切塊:是在一部分維上選定值后,關(guān)心度量數據在剩余維上的分布。如果剩余的維只有兩個(gè),則是切片;如果有三個(gè)或以上,則是切塊。
旋轉:是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
四、OLAP系統的體系結構和分類(lèi)
數據倉庫與OLAP的關(guān)系是互補的,現代OLAP系統一般以數據倉庫作為基礎,即從數據倉庫中抽取詳細數據的一個(gè)子集并經(jīng)過(guò)必要的聚集存儲到OLAP存儲器中供前端分析工具讀取。典型的OLAP系統體系結構如下圖所示:
OLAP系統按照其存儲器的數據存儲格式可以分為
關(guān)系OLAP(RelationalOLAP,簡(jiǎn)稱(chēng)
ROLAP)、
多維OLAP(MultidimensionalOLAP,簡(jiǎn)稱(chēng)
MOLAP)和混合型OLAP(HybridOLAP,簡(jiǎn)稱(chēng)
HOLAP)三種
類(lèi)型。
1.ROLAP
ROLAP將分析用的多維數據存儲在關(guān)系數據庫中并根據應用的需要有選擇的定義一批實(shí)視圖作為表也存儲在關(guān)系數據庫中。不必要將每一個(gè)SQL查詢(xún)都作為實(shí)視圖保存,只定義那些應用頻率比較高、計算工作量比較大的查詢(xún)作為實(shí)視圖。對每個(gè)針對OLAP服務(wù)器的查詢(xún),優(yōu)先利用已經(jīng)計算好的實(shí)視圖來(lái)生成查詢(xún)結果以提高查詢(xún)效率。同時(shí)用作ROLAP存儲器的RDBMS也針對OLAP作相應的優(yōu)化,比如并行存儲、并行查詢(xún)、并行數據管理、基于成本的查詢(xún)優(yōu)化、位圖索引、SQL的OLAP擴展(cube,rollup)等等。
2.MOLAP
MOLAP將OLAP分析所用到的多維數據物理上存儲為多維數組的形式,形成“立方體”的結構。維的屬性值被映射成多維數組的下標值或下標的范圍,而總結數據作為多維數組的值存儲在數組的單元中。由于MOLAP采用了新的存儲結構,從物理層實(shí)現起,因此又稱(chēng)為物理OLAP(PhysicalOLAP);而ROLAP主要通過(guò)一些
軟件工具或中間軟件實(shí)現,物理層仍采用關(guān)系數據庫的存儲結構,因此稱(chēng)為虛擬OLAP(VirtualOLAP)。
3.HOLAP
由于MOLAP和ROLAP有著(zhù)各自的優(yōu)點(diǎn)和缺點(diǎn)(如下表所示),且它們的結構迥然不同,這給分析人員設計OLAP結構提出了難題。為此一個(gè)新的OLAP結構——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP兩種結構的優(yōu)點(diǎn)結合起來(lái)。迄今為止,對HOLAP還沒(méi)有一個(gè)正式的定義。但很明顯,HOLAP結構不應該是MOLAP與ROLAP結構的簡(jiǎn)單組合,而是這兩種結構技術(shù)優(yōu)點(diǎn)的有機結合,能滿(mǎn)足用戶(hù)各種復雜的分析請求。
rolap
molap
沿用現有的關(guān)系數據庫的技術(shù)
專(zhuān)為olap所設計
響應速度比molap慢;
現有關(guān)系型數據庫已經(jīng)對olap做了很多優(yōu)化,包括并行存儲、并行查詢(xún)、并行數據管理、基于成本的查詢(xún)優(yōu)化、位圖索引、sql 的olap擴展(cube,rollup)等,性能有所提高
性能好、響應速度快
數據裝載速度快
數據裝載速度慢
存儲空間耗費小,維數沒(méi)有限制
需要進(jìn)行預計算,可能導致數據爆炸,維數有限;無(wú)法支持維的動(dòng)態(tài)變化
借用rdbms存儲數據,沒(méi)有
文件大小限制
受
操作系統平臺中文件大小的限制,難以達到tb 級(只能10~20g)
可以通過(guò)sql實(shí)現詳細數據與概要數據的存儲
缺乏數據模型和數據訪(fǎng)問(wèn)的標準
–不支持有關(guān)預計算的讀寫(xiě)操作
–sql無(wú)法完成部分計算
無(wú)法完成多行的計算
無(wú)法完成維之間的計算
–支持高性能的決策支持計算
復雜的跨維計算
多用戶(hù)的讀寫(xiě)操作
行級的計算
維護困難
管理簡(jiǎn)便
五、聯(lián)機分析處理的實(shí)現方式
同樣是仿照用戶(hù)的多角度思考模式,聯(lián)機分析處理有三種不同的實(shí)現方法:
·
關(guān)系型聯(lián)機分析處理(ROLAP,Relational OLAP)
·
多維聯(lián)機分析處理(MOLAP,Multi-Dimensional OLAP)
· 前端展示聯(lián)機分析處理(Desktop OLAP)
其中,前端展示聯(lián)機分析需要將所有數據下載到客戶(hù)機上,然后在客戶(hù)機上進(jìn)行數據結構/報表格式重組,使用戶(hù)能在本機實(shí)現動(dòng)態(tài)分析。該方式比較靈活,然而它能夠支持的數據量非常有限,嚴重地影響了使用的范圍和效率。因此,隨著(zhù)時(shí)間的推移,這種方式已退居次要地位,在此不作討論。
以下就ROLAP和MOLAP的具體實(shí)施方法進(jìn)行討論:
1、關(guān)系型聯(lián)機分析處理的具體實(shí)施方法:
顧名思義,關(guān)系型聯(lián)機分析處理是以關(guān)系型數據庫為基礎的。唯一特別之處在于聯(lián)機分析處理中的數據結構組織的方式。
讓我們考察一個(gè)例子,假設我們要進(jìn)行產(chǎn)品銷(xiāo)售的財務(wù)分析,分析的角度包括時(shí)間、產(chǎn)品類(lèi)別、市場(chǎng)分布、實(shí)際發(fā)生與預算四方面內容,分析的財務(wù)指標包括:銷(xiāo)售額、銷(xiāo)售支出、毛利(=銷(xiāo)售額-銷(xiāo)售支出)、費用、純利(=毛利-費用)等內容,則我們可以建立如下的數據結構:
該數據結構的中心是主表,里面包含了所有分析維度的外鍵,以及所有的財務(wù)指標,可計算推導的財務(wù)指標不計在內,我們稱(chēng)之為事實(shí)表(Fact Table)。周?chē)谋矸謩e是對應于各個(gè)分析角度的維表(Dimension Table),每個(gè)維表除了主鍵以外,還包含了描述和分類(lèi)信息。無(wú)論原來(lái)的業(yè)務(wù)數據的數據結構為何,只要原業(yè)務(wù)數據能夠整理成為以上模式,則無(wú)論業(yè)務(wù)人員據此提出任何問(wèn)題,都可以用SQL語(yǔ)句進(jìn)行表連接或匯總(table join and group by)實(shí)現數據查詢(xún)和解答。(當然,有一些現成的ROLAP前端分析工具是可以自動(dòng)根據以上模型生成SQL語(yǔ)句的)。這種模式被稱(chēng)為星型模式(Star-Schema),可應用于不同的聯(lián)機分析處理應用中。
以下是另一個(gè)采用星型模式的例子,分析的角度和指標截然不同,但數據結構模式一樣。我們看到的不是表的數據,而是表的結構。在聯(lián)機分析處理的數據模型設計中,這種表達方式更為常見(jiàn):
有時(shí)候,維表的定義會(huì )變得復雜,例如對產(chǎn)品維,既要按產(chǎn)品種類(lèi)進(jìn)行劃分,對某些特殊商品,又要另外進(jìn)行品牌劃分,商品品牌和產(chǎn)品種類(lèi)劃分方法并不一樣。因此,單張維表不是理想的解決方案,可以采用以下方式,這種數據模型實(shí)際上是星型結構的拓展,我們稱(chēng)之為雪花型模式(snow-flake schema).
無(wú)論采用星型模式還是雪花型模式,關(guān)系型聯(lián)機分析處理都具有以下特點(diǎn):
· 數據結構和組織模式需要預先設計和建立;
· 數據查詢(xún)需要進(jìn)行表連接,在查詢(xún)
性能測試中往往是影響速度的關(guān)鍵;
· 數據匯總查詢(xún)(例如查詢(xún)某個(gè)品牌的所有產(chǎn)品銷(xiāo)售額),需要進(jìn)行Group by 操作,雖然實(shí)際得出的數據量很少,但查詢(xún)時(shí)間變得更長(cháng);
· 為了改善數據匯總查詢(xún)的性能,可以建立匯總表,但匯總表的數量與用戶(hù)分析的角度數目和每個(gè)角度的層次數目密切相關(guān)。例如,用戶(hù)從8個(gè)角度進(jìn)行分析,每個(gè)角度有3個(gè)匯總層次,則匯總表的數目高達3的8次方。
可以采取對常用匯總數據建立匯總表,對不常用的匯總數據進(jìn)行Group by 操作,這樣來(lái)取得性能和管理復雜度之間的均衡。
2、多維聯(lián)機分析處理的具體實(shí)施方法:
多維聯(lián)機分析處理實(shí)際上是用多維數組的方式對關(guān)系型數據表進(jìn)行處理。下圖是ROLAP與MOLAP的對比:
圖中左邊是ROLAP方式,右邊是MOLAP方式,兩者對應的是同一個(gè)三維模型。MOLAP首先對事實(shí)表中的所有外鍵進(jìn)行排序,并將排序后的具體指標數值一一寫(xiě)進(jìn)虛擬的多維立方體中。當然,虛擬的多維立方體只是為了便于理解而構想的,MOLAP實(shí)際的數據存儲放在數據文件(Data File)中,其數據放置的順序與虛擬的多維立方體按x,y,z坐標展開(kāi)的順序是一致的(如上圖)。同時(shí),為了數據查找的方便,MOLAP需要預先建立維度的索引,這個(gè)索引被放置在MOLAP的概要文件(Outline)中。
概要文件是MOLAP的核心,相當于ROLAP的數據模型設計。概要文件包括所有維的定義(包括復雜的維度結構)以及各個(gè)層次的數據匯總關(guān)系(例如在時(shí)間維,日匯總至月,月匯總至季,季匯總至年),這些定義往往從關(guān)系型維表中直接引入即可。概要文件也包括分析指標的定義,因此可以在概要文件中包含豐富的衍生指標,這些衍生指標由基礎指標計算推導出來(lái)(例如ROLAP例子1中的純利和毛利)。概要文件的結構如下圖所示:
一旦概要文件定義好,MOLAP系統可以自動(dòng)安排數據存儲的方式和進(jìn)行數據查詢(xún)。從MOLAP的數據文件與ROLAP的事實(shí)表的對比可以看出,MOLAP的數據文件完全不需要紀錄維度的外鍵,在維度比較多的情況下,這種數據存儲方式大量地節省了空間。
但是,如果數據相當稀疏,虛擬的多維立方體中很多數值為空時(shí),MOLAP的數據文件需要對相關(guān)的位置留空,而ROLAP的事實(shí)表卻不會(huì )存儲這些紀錄。為了有效地解決這種情況,MOLAP采用了稀疏維和密集維相結合的處理方式,如下圖。
上圖的背景是某些客戶(hù)只通過(guò)某些分銷(xiāo)渠道才購買(mǎi),但是只要該客戶(hù)存在,他在各個(gè)月和各個(gè)地區內均有消費(例如,華南IBM只通過(guò)熊貓國旅定購南航機票,但在華南四省在每個(gè)月均有機票訂購)。則時(shí)間和地區維是密集維,客戶(hù)和分銷(xiāo)渠道是稀疏維,MOLAP將稀疏維建成索引文件(Index File),密集維所對應的數值仍然保留在數據文件中,索引文件不存儲空紀錄。這樣保持了對空間的合理利用。我們也可以看到,如果所有維都是稀疏維,則MOLAP的索引文件就退化成ROLAP的事實(shí)表, 兩者沒(méi)有區別了。
在實(shí)際應用中,不可能所有分析的維度都是密集的,也絕少存在所有分析的維度都是稀疏的,因此稀疏維和密集維并用的模式幾乎主導了所有的MOLAP應用。而稀疏維和密集維的定義全部集中在概要文件中,因此,只要預先定義好概要文件,所有的數據分布就自動(dòng)確定了。
在這種模式中,密集維的組合組成了的數據塊(Data Block),每個(gè)數據塊是I/O讀寫(xiě)的基礎單位(如上圖),所有的數據塊組成了數據文件。稀疏維的組合組成了索引文件,索引文件的每一個(gè)數據紀錄的末尾都帶有一個(gè)指針,指向要讀寫(xiě)的數據塊。因此,進(jìn)行數據查詢(xún)時(shí),系統先搜索索引文件紀錄,然后直接調用指針指向的數據塊進(jìn)行I/O讀寫(xiě)(如果該數據塊尚未駐留內存),將相應數據塊調入內存后,根據密集維的數據放置順序直接計算出要查詢(xún)的數據距離數據塊頭的偏移量,直接提取數據下傳到
客戶(hù)端。因此,MOLAP 方式基本上是索引搜索與直接尋址的查詢(xún)方式相結合,比起ROLAP的表/索引搜索和表連接方式,速度要快得多。
多維聯(lián)機分析處理有以下特點(diǎn):
· 需要預先定義概要文件;
· 數據查詢(xún)采用索引搜索與直接尋址的方式相結合,不需要進(jìn)行表連接,在查詢(xún)性能測試中比起ROLAP有相當大的優(yōu)勢;
· 在進(jìn)行數據匯總查詢(xún)之前,MOLAP需要預先按概要文件中定義的數據匯總關(guān)系進(jìn)行計算,這個(gè)計算通常以批處理方式運行。計算結果回存在數據文件中,當用戶(hù)查詢(xún)時(shí),直接調用計算結果,速度非???。
· 無(wú)論是數據匯總還是計算衍生數據,預先計算的方式實(shí)際上是用空間來(lái)?yè)Q時(shí)間。當然,用戶(hù)也可以選擇動(dòng)態(tài)計算的方式,用查詢(xún)時(shí)間來(lái)?yè)Q取存儲空間。MOLAP可以靈活調整時(shí)空的取舍平衡。
· 用戶(hù)難以使用概要文件中沒(méi)有定義的數據匯總關(guān)系和衍生指標。
· 在大數據量環(huán)境下,關(guān)系型數據庫可以達到TB級的數據量,現有的MOLAP應用局限于基于文件系統的處理和查詢(xún)方式,其性能會(huì )在100GB級別開(kāi)始下降,需要進(jìn)行數據分區處理,因此擴展性不如ROLAP。因此,MOLAP多數用于部門(mén)級的主題分析應用。
3、其它考慮因素
聯(lián)機分析處理其他要素包括假設分析(What-if),復雜計算,數據評估等等。這些因素對用戶(hù)的分析效用至關(guān)重要,但是與ROLAP和MOLAP的核心工作原理的不一定有很緊密的關(guān)系,事實(shí)上,ROLAP和MOLAP都可以在以上三方面有所建樹(shù),只不過(guò)實(shí)現的方法迥異。因此,這些因素更取決于各個(gè)廠(chǎng)商為他們的產(chǎn)品提供的外延功能。對于像IBM的
DB2 OLAP Server這樣一個(gè)成熟的產(chǎn)品來(lái)說(shuō),這三方面均有獨特的優(yōu)勢:
假設分析
假設分析提出了類(lèi)似于以下的問(wèn)題:"如果產(chǎn)品降價(jià)5%,而運費增加8%,對不同地區的分銷(xiāo)商的進(jìn)貨成本會(huì )有什么影響?"這些問(wèn)題常用于銷(xiāo)售預測、費用預算分配、獎金制度確定等等。據此,用戶(hù)可以分析出哪些角度、哪些因素的變化將對企業(yè)產(chǎn)生重要影響;并且,用戶(hù)可以靈活調節自己手中掌握的資源(例如費用預算等),將它用到最有效的地方中去。
假設分析要求OLAP系統能夠隨用戶(hù)的思路調整數據,并動(dòng)態(tài)反映出在調整后對其他數據的影響結果。事實(shí)上,進(jìn)入OLAP的數據分兩大類(lèi):事實(shí)數據和預算數據,例如本月實(shí)際發(fā)生的銷(xiāo)售額是事實(shí)數據,上月對本月的銷(xiāo)售額估算是預算數據。事實(shí)數據一般情況下不容修改,而預算數據則應常常進(jìn)行調整。DB2 OLAP Server通過(guò)詳細的權限定義區分了數據的讀寫(xiě)權限,允許用戶(hù)對預算數據進(jìn)行更改,系統可以對其他受影響的數據進(jìn)行計算,以反映出"假如發(fā)生如上情況,將會(huì )引起以下結果"的結論。
復雜計算
分析人員往往需要分析復雜的衍生數據,諸如:同期對比、期初/期末余額、百分比份額計算、資源分配(按從頂向下的結構圖逐級分配)、移動(dòng)平均、均方差等等。對這些要求,DB2 OLAP Server提供豐富的功能函數以便用戶(hù)使用。因為只有在無(wú)需編程的環(huán)境下,商業(yè)用戶(hù)才能更好地靈活利用這些功能進(jìn)行復雜的真實(shí)世界模擬。
數據評估
數據評估包括兩方面內容,有效性評估和商業(yè)意義評估。在有效性評估方面,數據抽取、清洗和轉換的規則的定義是至關(guān)重要的。而合理的數據模型設計能有效防止無(wú)效數據的進(jìn)入。例如在ROLAP中,如果維表沒(méi)有采用
范式設計(normalise design),可能會(huì )接受如下的維表:
機構代碼 機構名稱(chēng) 所屬區縣 所屬城市 所屬省份
001 越秀支行 越秀區 廣州 廣東
002 祖廟支行 佛山 廣州 廣東
003 翠屏支行 佛山 南海 廣東
004 。。。 。。。 。。。 。。。
顯然,002中顯示的佛山屬于廣州市,與003中顯示的佛山屬于南海市是矛盾的。這顯示出數據源有問(wèn)題,但是如果采用星型模式設計,ROLAP無(wú)法自動(dòng)發(fā)現數據源的問(wèn)題!
在類(lèi)似情況下,MOLAP的表現稍占優(yōu)勢。因為MOLAP需要預先定義概要文件,而概要文件會(huì )詳細分析維度的層次關(guān)系,因此生成概要文件時(shí)會(huì )反映數據源的錯誤。因此,在DB2 OLAP Server中,記錄003會(huì )被拒收,并紀錄在出錯日志中,供IT人員更正。
但是,OLAP對數據源有效性的驗證能力畢竟是有限的,因此,數據有效性必須從
源數據一級和數據抽取/清洗/轉換處理一級來(lái)進(jìn)行保障。
對用戶(hù)而言,數據的商業(yè)含義評估更有意義。在商業(yè)活動(dòng)中,指標數值的取值范圍是比較穩定的,如果指標數值突然發(fā)生變化,或者在同期比較、同類(lèi)比較中有特殊表現,意味著(zhù)該指標代表的方方面面具有特別的分析意義。普通的OLAP往往需要用戶(hù)自己去觀(guān)察發(fā)現異常指標,而DB2 OLAP Server的OLAP Minor(多維數據挖掘功能)能為用戶(hù)特別地指出哪些條件下的哪些指標偏離常值,從而引起用戶(hù)的注意和思考。例如:12月份南部的圣誕禮品銷(xiāo)售額不到同期類(lèi)似區域(東部、中部、西部)的50%。
綜上所述,無(wú)論ROLAP還是MOLAP,都能夠實(shí)現聯(lián)機分析處理的基本功能,兩者在查詢(xún)效率,存儲空間和擴展性方面各有千秋。IT人員在選擇OLAP系統時(shí),既要考慮產(chǎn)品內部的實(shí)現機制,同時(shí)也應考慮假設分析,復雜計算,數據評估方面的功能,為實(shí)現決策管理信息系統打下堅實(shí)的基礎。
六、主要OLAP廠(chǎng)商產(chǎn)品介紹
Hyperion
HyperionEssbaseOLAPServer,在上面有超過(guò)100個(gè)的應用
程序,有300多個(gè)用Essbase作為平臺的開(kāi)發(fā)商。具有幾百個(gè)計算公式,支持過(guò)程的腳本預言,及統計和基于維的計算。
強大的OLAP查詢(xún)能力,利用EssbaseQueryDesigner,商業(yè)用戶(hù)可以不用IT人員的幫助自己
構件復雜的查詢(xún)。
廣泛的應用支持,可以擴展數據倉庫和ERP系統的價(jià)值,建立對
電子商務(wù)、CRM、金融、制造業(yè)、零售和CPG(consumerpackagedgoods)等應用的分析程序。
Speed-of-Thought的響應時(shí)間,支持多用戶(hù)同時(shí)讀寫(xiě)
Web-Enabled的,以服務(wù)器為中心的體系結構,支持SMP
強大的合作伙伴提供完整的解決方案,60多個(gè)包裝好的解決方案,300多個(gè)咨詢(xún)和實(shí)施公司。
豐富的前端工具,有30多個(gè)前端工具可供選擇,其中包括Hyperion自己的WiredforOLAP、Spider-ManWebApplication、Objects、EssbaseSpreadsheetAdd-In、WebGateway、Reporting。
HyperionEnterprise,為跨國公司提供的財務(wù)整合、報告和分析的解決方案。有3000多家組織在使用此套系統。
功能豐富:支持多種財務(wù)標準USGAAP,CanadianGAAP,UKGAAP,國際會(huì )計標準(ISA),FASB,HGB。分公司間交易的自動(dòng)平帳。FAS52貨幣轉換。FAS94。
易用:可通過(guò)Excel,Lotus1-2-3和各種瀏覽器訪(fǎng)問(wèn)系統。
支持公司結構的調整。
跨國公司的支持:同時(shí)支持6種語(yǔ)言及各個(gè)不同國家的法律和稅收要求。
完整的過(guò)程控制和審計跟蹤,及安全等級的設置。
能與ERP或其他數據源集成
HyperionPillar,預算和計劃工具。全球用戶(hù)超過(guò)1500家,提供基于活動(dòng)的預算,基于項目的計劃,集中式計劃,銷(xiāo)售預測和綜合計劃。
分布式體系結構
詳細計劃的制訂:允許一線(xiàn)經(jīng)理制訂詳細的計劃
復雜的建模和分析能力
OracleExpressServer提供全面的OLAP能力,有全球超過(guò)3000家用戶(hù)
用戶(hù)可通過(guò)Web和電子表格使用
靈活的數據組織方式,數據可以存放在ExpressServer內,也可直接在RDB上使用
有內建的分析函數和4GL來(lái)用戶(hù)自己定制查詢(xún)
Cognos
PowerPlay,為商務(wù)效率評價(jià)
BPM(BusinessPerformanceMeasurement)提供全面的報告和分析環(huán)境。向決策者提供企業(yè)運行效率的各種關(guān)鍵數據,進(jìn)行各種各樣的分析。
只用鼠標點(diǎn)擊、拖拉就可以瀏覽多維數據
自動(dòng)利用Web發(fā)布得到的分析報告
支持多種OLAPServer:MicrosoftOLAPServices、HyperionEssbase、SAPBW、IBMOLAPforDB2
完備的授權和安全體系
NovaView,是MicrosoftSQLServer7.0OLAPServices的客戶(hù)端應用程序。
MicroStrategy
MicroStrategy7,是新一代的智能平臺(IntelligencePlatform)面向電子商務(wù)應用e-business和電子客戶(hù)關(guān)系管理eCRM。
具有強大的分析能力
以Web為中心的界面
支持上百萬(wàn)的用戶(hù)和TB的數據
快速開(kāi)發(fā)能力,可直接利用已有的數據模式
IntelligenceServer,Oneforallanalyticapplications
Microsoft
SQLServer7.0OLAPServices,是SQLServer7.0的OLAP模塊,可以使用任何關(guān)系數據庫或平面文件作為數據源,其中的PivotTableService提供了客戶(hù)端的數據緩存和計算能力。
智能的
Client/Server數據管理,提高響應速度,降低網(wǎng)絡(luò )流量
通過(guò)OLEDBforOLAP,允許不同的客戶(hù)端訪(fǎng)問(wèn)
BusinessObjects
BusinessObjects,是易用的
BI工具,允許用戶(hù)存取、分析和共享數據。
可應用多種數據源:RDB,ERP,OLAP,Excel等
可應用VBA和開(kāi)放式對象模型來(lái)進(jìn)行開(kāi)發(fā)定制
IBM
DB2OLAPServer,是強大的多維分析工具,把HyperionEssbase的OLAP引擎和DB2的關(guān)系數據庫集成在一起。
與EssbaseAPI完全兼容
數據用星型模型存放在關(guān)系數據庫DB2中
Brio
Brio.Enterprise,是強大的易用的BI工具,提供查詢(xún),OLAP分析和報告的能力
支持多種語(yǔ)言,包括中文
Brio.Report,強大的企業(yè)級報告工具
OLAP相關(guān)標準
APB-1OLAPBenchmarkReleaseII(SPONSOREDBYOLAPCOUNCIL)