登錄

聯(lián)機(jī)分析處理

百科 > 信息技術(shù) > 聯(lián)機(jī)分析處理

1.什么是聯(lián)機(jī)分析處理

聯(lián)機(jī)分析處理的概念最早是由關(guān)系數(shù)據(jù)庫之父愛德華·庫德(E·F·Codd)博士于1993年提出的,是一種用于組織大型商務(wù)數(shù)據(jù)庫和支持商務(wù)智能的技術(shù)。OLAP 數(shù)據(jù)庫分為一個或多個多維數(shù)據(jù)集,每個多維數(shù)據(jù)集都由多維數(shù)據(jù)集管理員組織和設(shè)計以適應(yīng)用戶檢索和分析數(shù)據(jù)的方式,從而更易于創(chuàng)建和使用所需的數(shù)據(jù)透視表和數(shù)據(jù)透視圖。

庫德同時提出了關(guān)于OLAP的12條準(zhǔn)則。OLAP的提出引起了很大的反響,OLAP作為一類產(chǎn)品同聯(lián)機(jī)事務(wù)處理(OLTP) 明顯區(qū)分開來。庫德提出OLAP的12條準(zhǔn)則來描述OLAP系統(tǒng):

  • 準(zhǔn)則1 OLAP模型必須提供多維概念視圖
  • 準(zhǔn)則2 透明性準(zhǔn)則
  • 準(zhǔn)則3 存取能力推測
  • 準(zhǔn)則4 穩(wěn)定的報表能力
  • 準(zhǔn)則5 客戶/服務(wù)器體系結(jié)構(gòu)
  • 準(zhǔn)則6 維的等同性準(zhǔn)則
  • 準(zhǔn)則7 動態(tài)的稀疏矩陣處理準(zhǔn)則
  • 準(zhǔn)則8 多用戶支持能力準(zhǔn)則
  • 準(zhǔn)則9 非受限的跨維操作
  • 準(zhǔn)則10 直觀的數(shù)據(jù)操縱
  • 準(zhǔn)則11 靈活的報表生成
  • 準(zhǔn)則12 不受限的維與聚集層次

當(dāng)今的數(shù)據(jù)處理大致可以分成兩大類:聯(lián)機(jī)事務(wù)處理OLTP、聯(lián)機(jī)分析處理OLAP。OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。下表列出了OLTP與OLAP之間的比較。

OLTPOLAP
用戶操作人員,低層管理人員決策人員,高級管理人員
功能日常操作處理分析決策
DB 設(shè)計面向應(yīng)用面向主題
數(shù)據(jù)當(dāng)前的, 最新的細(xì)節(jié)的, 二維的分立的歷史的, 聚集的, 多維的集成的, 統(tǒng)一的
存取讀/寫數(shù)十條記錄讀上百萬條記錄
工作單位簡單的事務(wù)復(fù)雜的查詢
用戶數(shù)上千個上百個
DB 大小100MB-GB100GB-TB

2.聯(lián)機(jī)分析處理的發(fā)展背景

隨著數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,企業(yè)信息系統(tǒng)產(chǎn)生了大量的數(shù)據(jù),如何從這些海量數(shù)據(jù)中提取對企業(yè)決策分析有用的信息成為企業(yè)決策管理人員所面臨的重要難題。傳統(tǒng)的企業(yè)數(shù)據(jù)庫系統(tǒng)(管理信息系統(tǒng))即聯(lián)機(jī)事務(wù)處理系統(tǒng)(On-LineTransactionProcessing,簡稱OLTP)作為數(shù)據(jù)管理手段,主要用于事務(wù)處理,但它對分析處理的支持一直不能令人滿意。因此,人們逐漸嘗試對OLTP數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行再加工,形成一個綜合的、面向分析的、更好的支持決策制定的決策支持系統(tǒng)(DecisionSupportSystem,簡稱DSS)。

企業(yè)目前的信息系統(tǒng)的數(shù)據(jù)一般由數(shù)據(jù)庫管理系統(tǒng)(DBMS)管理,但決策數(shù)據(jù)庫和運(yùn)行操作數(shù)據(jù)庫在數(shù)據(jù)來源、數(shù)據(jù)內(nèi)容、數(shù)據(jù)模式、服務(wù)對象、訪問方式、事務(wù)管理乃至無力存儲等方面都有不同的特點(diǎn)和要求,因此直接在運(yùn)行操作的數(shù)據(jù)庫上建立DSS是不合適的。數(shù)據(jù)倉庫(Data Warehouse)技術(shù)就是在這樣的背景下發(fā)展起來的。數(shù)據(jù)倉庫的概念提出于20世紀(jì)80年代中期,20世紀(jì)90年代,數(shù)據(jù)倉庫已從早起的探索階段走向?qū)嵱秒A段。業(yè)界公認(rèn)的數(shù)據(jù)倉庫概念創(chuàng)始人恩門(Inmon)在《Building the Data Warehouse》一書中對數(shù)據(jù)倉庫的定義是:“數(shù)據(jù)倉庫是支持管理決策過程的、面向主題的、集成的、隨時間變化的持久的數(shù)據(jù)集合”。構(gòu)建數(shù)據(jù)倉庫的過程就是根據(jù)預(yù)先設(shè)計好的邏輯模式從分布在企業(yè)內(nèi)部各處的OLTP數(shù)據(jù)庫中提取數(shù)據(jù)并對經(jīng)過必要的變換最終形成全企業(yè)統(tǒng)一模式數(shù)據(jù)的過程。當(dāng)前數(shù)據(jù)倉庫的核心仍是RDBMS管理下的一個數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)倉庫中數(shù)據(jù)量巨大,為了提高性能,RDBMS一般也采取一些提高效率的措施:采用并行處理結(jié)構(gòu)、新的數(shù)據(jù)組織、查詢策略、索引技術(shù)等等。

包括聯(lián)機(jī)分析處理(On-LineAnalyticalProcessing,簡稱OLAP)在內(nèi)的諸多應(yīng)用牽引驅(qū)動了數(shù)據(jù)倉庫技術(shù)的出現(xiàn)和發(fā)展;而數(shù)據(jù)倉庫技術(shù)反過來又促進(jìn)了OLAP技術(shù)的發(fā)展。聯(lián)機(jī)分析處理的概念最早由關(guān)系數(shù)據(jù)庫之父E·F·Codd于1993年提出的。Codd認(rèn)為聯(lián)機(jī)事務(wù)處理(OLTP)已不能滿足終端用戶對數(shù)據(jù)庫查詢分析的要求,結(jié)構(gòu)化查詢語言(SQL)對大數(shù)據(jù)庫的簡單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對關(guān)系數(shù)據(jù)庫進(jìn)行大量計算才能得到結(jié)果,而查詢的結(jié)果并不能滿足決策者提出的需求。因此,Codd提出了多維數(shù)據(jù)庫和多維分析的概念,即OLAP。OLAP委員會對聯(lián)機(jī)分析處理的定義為:使分析人員、管理人員或執(zhí)行人員能夠從多種角度對從原始數(shù)據(jù)中轉(zhuǎn)化出來的、能夠真正為用戶所理解的、并真實(shí)反映企業(yè)維特性的信息進(jìn)行快速、一致、交互地存取,從而獲得對數(shù)據(jù)的更深入了解的一類軟件技術(shù)。OLAP的目標(biāo)是滿足決策支持或多維環(huán)境特定的查詢和報表需求,它的技術(shù)核心是“維”這個概念,因此OLAP也可以說是多維數(shù)據(jù)分析工具的集合。

3.聯(lián)機(jī)分析處理的特點(diǎn)

在過去的二十年中,大量的企業(yè)利用關(guān)系型數(shù)據(jù)庫來存儲和管理業(yè)務(wù)數(shù)據(jù),并建立相應(yīng)的應(yīng)用系統(tǒng)來支持日常業(yè)務(wù)運(yùn)作。這種應(yīng)用以支持業(yè)務(wù)處理為主要目的,被稱為聯(lián)機(jī)事務(wù)處理(OLTP,On-line Transaction Processing)應(yīng)用,它所存儲的數(shù)據(jù)被稱為操作數(shù)據(jù)或者業(yè)務(wù)數(shù)據(jù)。

隨著市場競爭的日趨激烈,近年來企業(yè)更加強(qiáng)調(diào)決策的及時性和準(zhǔn)確性,這使得以支持決策管理分析為主要目的的應(yīng)用迅速崛起,這類應(yīng)用被稱為聯(lián)機(jī)分析處理,它所存儲的數(shù)據(jù)被稱為信息數(shù)據(jù)。

聯(lián)機(jī)分析處理的用戶是企業(yè)中的專業(yè)分析人員及管理決策人員,他們在分析業(yè)務(wù)經(jīng)營的數(shù)據(jù)時,從不同的角度來審視業(yè)務(wù)的衡量指標(biāo)是一種很自然的思考模式。例如分析銷售數(shù)據(jù),可能會綜合時間周期、產(chǎn)品類別、分銷渠道、地理分布、客戶群類等多種因素來考量。這些分析角度雖然可以通過報表來反映,但每一個分析的角度可以生成一張報表,各個分析角度的不同組合又可以生成不同的報表,使得IT人員的工作量相當(dāng)大,而且往往難以跟上管理決策人員思考的步伐。

聯(lián)機(jī)分析處理的主要特點(diǎn),是直接仿照用戶的多角度思考模式,預(yù)先為用戶組建多維的數(shù)據(jù)模型,在這里,維指的是用戶的分析角度。例如對銷售數(shù)據(jù)的分析,時間周期是一個維度,產(chǎn)品類別、分銷渠道、地理分布、客戶群類也分別是一個維度。一旦多維數(shù)據(jù)模型建立完成,用戶可以快速地從各個分析角度獲取數(shù)據(jù),也能動態(tài)的在各個角度之間切換或者進(jìn)行多角度綜合分析,具有極大的分析靈活性。這也是聯(lián)機(jī)分析處理在近年來被廣泛關(guān)注的根本原因,它從設(shè)計理念和真正實(shí)現(xiàn)上都與舊有的管理信息系統(tǒng)有著本質(zhì)的區(qū)別。

事實(shí)上,隨著數(shù)據(jù)倉庫理論的發(fā)展,數(shù)據(jù)倉庫系統(tǒng)已逐步成為新型的決策管理信息系統(tǒng)的解決方案。數(shù)據(jù)倉庫系統(tǒng)的核心是聯(lián)機(jī)分析處理,但數(shù)據(jù)倉庫包括更為廣泛的內(nèi)容。

概括來說,數(shù)據(jù)倉庫系統(tǒng)是指具有綜合企業(yè)數(shù)據(jù)的能力,能夠?qū)Υ罅科髽I(yè)數(shù)據(jù)進(jìn)行快速和準(zhǔn)確分析,輔助做出更好的商業(yè)決策的系統(tǒng)。它本身包括三部分內(nèi)容:

  • 數(shù)據(jù)層。實(shí)現(xiàn)對企業(yè)操作數(shù)據(jù)的抽取、轉(zhuǎn)換、清洗和匯總,形成信息數(shù)據(jù),并存儲在企業(yè)級的中心信息數(shù)據(jù)庫中。
  • 應(yīng)用層。通過聯(lián)機(jī)分析處理,甚至是數(shù)據(jù)挖掘等應(yīng)用處理,實(shí)現(xiàn)對信息數(shù)據(jù)的分析。
  • 表現(xiàn)層。通過前臺分析工具,將查詢報表、統(tǒng)計分析、多維聯(lián)機(jī)分析和數(shù)據(jù)發(fā)掘的結(jié)論展現(xiàn)在用戶面前。

從應(yīng)用角度來說,數(shù)據(jù)倉庫系統(tǒng)除了聯(lián)機(jī)分析處理外,還可以采用傳統(tǒng)的報表,或者采用數(shù)理統(tǒng)計人工智能等數(shù)據(jù)挖掘手段,涵蓋的范圍更廣;就應(yīng)用范圍而言,聯(lián)機(jī)分析處理往往根據(jù)用戶分析的主題進(jìn)行應(yīng)用分割,例如:銷售分析、市場推廣分析、客戶利潤率分析等等,每一個分析的主題形成一個OLAP應(yīng)用,而所有的OLAP應(yīng)用實(shí)際上只是數(shù)據(jù)倉庫系統(tǒng)的一部分。

4.聯(lián)機(jī)分析處理的實(shí)現(xiàn)方式

同樣是仿照用戶的多角度思考模式,聯(lián)機(jī)分析處理有三種不同的實(shí)現(xiàn)方法:

  • 關(guān)系聯(lián)機(jī)分析處理(ROLAP,Relational OLAP)
  • 多維聯(lián)機(jī)分析處理(MOLAP,Multi-Dimensional OLAP)
  • 前端展示聯(lián)機(jī)分析處理(Desktop OLAP)

其中,前端展示聯(lián)機(jī)分析需要將所有數(shù)據(jù)下載到客戶機(jī)上,然后在客戶機(jī)上進(jìn)行數(shù)據(jù)結(jié)構(gòu)/報表格式重組,使用戶能在本機(jī)實(shí)現(xiàn)動態(tài)分析。該方式比較靈活,然而它能夠支持的數(shù)據(jù)量非常有限,嚴(yán)重地影響了使用的范圍和效率。因此,隨著時間的推移,這種方式已退居次要地位,在此不作討論。

以下就ROLAP和MOLAP的具體實(shí)施方法進(jìn)行討論:

1、關(guān)系型聯(lián)機(jī)分析處理的具體實(shí)施方法

顧名思義,關(guān)系型聯(lián)機(jī)分析處理是以關(guān)系型數(shù)據(jù)庫為基礎(chǔ)的。唯一特別之處在于聯(lián)機(jī)分析處理中的數(shù)據(jù)結(jié)構(gòu)組織的方式。

例如,假設(shè)我們要進(jìn)行產(chǎn)品銷售的財務(wù)分析,分析的角度包括時間、產(chǎn)品類別、市場分布、實(shí)際發(fā)生與預(yù)算四方面內(nèi)容,分析的財務(wù)指標(biāo)包括:銷售額、銷售支出、毛利(=銷售額-銷售支出)、費(fèi)用、純利(=毛利-費(fèi)用)等內(nèi)容,則可以建立如下的數(shù)據(jù)結(jié)構(gòu):

聯(lián)機(jī)分析處理

該數(shù)據(jù)結(jié)構(gòu)的中心是主表,里面包含了所有分析維度的外鍵,以及所有的財務(wù)指標(biāo),可計算推導(dǎo)的財務(wù)指標(biāo)不計在內(nèi),稱之為事實(shí)表(Fact Table)。周圍的表分別是對應(yīng)于各個分析角度的維表(Dimension Table),每個維表除了主鍵以外,還包含了描述和分類信息。無論原來的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)為何,只要原業(yè)務(wù)數(shù)據(jù)能夠整理成為以上模式,則無論業(yè)務(wù)人員據(jù)此提出任何問題,都可以用SQL語句進(jìn)行表連接或匯總(table join and group by)實(shí)現(xiàn)數(shù)據(jù)查詢和解答。(當(dāng)然,有一些現(xiàn)成的ROLAP前端分析工具是可以自動根據(jù)以上模型生成SQL語句的)。這種模式被稱為星型模式(Star- Schema),可應(yīng)用于不同的聯(lián)機(jī)分析處理應(yīng)用中。

以下是另一個采用星型模式的例子,分析的角度和指標(biāo)截然不同,但數(shù)據(jù)結(jié)構(gòu)模式一樣。我們看到的不是表的數(shù)據(jù),而是表的結(jié)構(gòu)。在聯(lián)機(jī)分析處理的數(shù)據(jù)模型設(shè)計中,這種表達(dá)方式更為常見:

聯(lián)機(jī)分析處理

有時候,維表的定義會變得復(fù)雜,例如對產(chǎn)品維,既要按產(chǎn)品種類進(jìn)行劃分,對某些特殊商品,又要另外進(jìn)行品牌劃分,商品品牌和產(chǎn)品種類劃分方法并不一樣。因此,單張維表不是理想的解決方案,可以采用以下方式,這種數(shù)據(jù)模型實(shí)際上是星型結(jié)構(gòu)的拓展,我們稱之為雪花型模式(snow-flake schema)。

聯(lián)機(jī)分析處理

無論采用星型模式還是雪花型模式,關(guān)系型聯(lián)機(jī)分析處理都具有以下特點(diǎn)

  • 數(shù)據(jù)結(jié)構(gòu)和組織模式需要預(yù)先設(shè)計和建立;
  • 數(shù)據(jù)查詢需要進(jìn)行表連接,在查詢性能測試中往往是影響速度的關(guān)鍵;
  • 數(shù)據(jù)匯總查詢(例如查詢某個品牌的所有產(chǎn)品銷售額),需要進(jìn)行Group by 操作,雖然實(shí)際得出的數(shù)據(jù)量很少,但查詢時間變得更長;
  • 為了改善數(shù)據(jù)匯總查詢的性能,可以建立匯總表,但匯總表的數(shù)量與用戶分析的角度數(shù)目和每個角度的層次數(shù)目密切相關(guān)。例如,用戶從8個角度進(jìn)行分析,每個角度有3個匯總層次,則匯總表的數(shù)目高達(dá)3的8次方。

可以采取對常用匯總數(shù)據(jù)建立匯總表,對不常用的匯總數(shù)據(jù)進(jìn)行Group by 操作,這樣來取得性能和管理復(fù)雜度之間的均衡。

2、多維聯(lián)機(jī)分析處理的具體實(shí)施方法

多維聯(lián)機(jī)分析處理實(shí)際上是用多維數(shù)組的方式對關(guān)系型數(shù)據(jù)表進(jìn)行處理。下圖是ROLAP與MOLAP的對比:

聯(lián)機(jī)分析處理

圖中左邊是ROLAP方式,右邊是MOLAP方式,兩者對應(yīng)的是同一個三維模型。MOLAP首先對事實(shí)表中的所有外鍵進(jìn)行排序,并將排序后的具體指標(biāo)數(shù)值一一寫進(jìn)虛擬的多維立方體中。當(dāng)然,虛擬的多維立方體只是為了便于理解而構(gòu)想的,MOLAP實(shí)際的數(shù)據(jù)存儲放在數(shù)據(jù)文件(Data File)中,其數(shù)據(jù)放置的順序與虛擬的多維立方體按x,y,z坐標(biāo)展開的順序是一致的(如上圖)。同時,為了數(shù)據(jù)查找的方便,MOLAP需要預(yù)先建立維度的索引,這個索引被放置在MOLAP的概要文件(Outline)中。

概要文件是MOLAP的核心,相當(dāng)于ROLAP的數(shù)據(jù)模型設(shè)計。概要文件包括所有維的定義(包括復(fù)雜的維度結(jié)構(gòu))以及各個層次的數(shù)據(jù)匯總關(guān)系(例如在時間維,日匯總至月,月匯總至季,季匯總至年),這些定義往往從關(guān)系型維表中直接引入即可。概要文件也包括分析指標(biāo)的定義,因此可以在概要文件中包含豐富的衍生指標(biāo),這些衍生指標(biāo)由基礎(chǔ)指標(biāo)計算推導(dǎo)出來(例如ROLAP例子1中的純利和毛利)。概要文件的結(jié)構(gòu)如下圖所示:

聯(lián)機(jī)分析處理

一旦概要文件定義好,MOLAP系統(tǒng)可以自動安排數(shù)據(jù)存儲的方式和進(jìn)行數(shù)據(jù)查詢。從MOLAP的數(shù)據(jù)文件與ROLAP的事實(shí)表的對比可以看出,MOLAP的數(shù)據(jù)文件完全不需要紀(jì)錄維度的外鍵,在維度比較多的情況下,這種數(shù)據(jù)存儲方式大量地節(jié)省了空間。

但是,如果數(shù)據(jù)相當(dāng)稀疏,虛擬的多維立方體中很多數(shù)值為空時,MOLAP的數(shù)據(jù)文件需要對相關(guān)的位置留空,而ROLAP的事實(shí)表卻不會存儲這些紀(jì)錄。為了有效地解決這種情況,MOLAP采用了稀疏維和密集維相結(jié)合的處理方式,如下圖:

聯(lián)機(jī)分析處理

上圖的背景是某些客戶只通過某些分銷渠道才購買,但是只要該客戶存在,他在各個月和各個地區(qū)內(nèi)均有消費(fèi) (例如,華南IBM只通過熊貓國旅定購南航機(jī)票,但在華南四省在每個月均有機(jī)票訂購)。則時間和地區(qū)維是密集維,客戶和分銷渠道是稀疏維,MOLAP將稀疏維建成索引文件(Index File),密集維所對應(yīng)的數(shù)值仍然保留在數(shù)據(jù)文件中,索引文件不存儲空紀(jì)錄。這樣保持了對空間的合理利用。我們也可以看到,如果所有維都是稀疏維,則 MOLAP的索引文件就退化成ROLAP的事實(shí)表, 兩者沒有區(qū)別了。

在實(shí)際應(yīng)用中,不可能所有分析的維度都是密集的,也絕少存在所有分析的維度都是稀疏的,因此稀疏維和密集維并用的模式幾乎主導(dǎo)了所有的MOLAP應(yīng)用。而稀疏維和密集維的定義全部集中在概要文件中,因此,只要預(yù)先定義好概要文件,所有的數(shù)據(jù)分布就自動確定了。

在這種模式中,密集維的組合組成了的數(shù)據(jù)塊(Data Block),每個數(shù)據(jù)塊是I/O讀寫的基礎(chǔ)單位(如上圖),所有的數(shù)據(jù)塊組成了數(shù)據(jù)文件。稀疏維的組合組成了索引文件,索引文件的每一個數(shù)據(jù)紀(jì)錄的末尾都帶有一個指針,指向要讀寫的數(shù)據(jù)塊。因此,進(jìn)行數(shù)據(jù)查詢時,系統(tǒng)先搜索索引文件紀(jì)錄,然后直接調(diào)用指針指向的數(shù)據(jù)塊進(jìn)行I/O讀寫(如果該數(shù)據(jù)塊尚未駐留內(nèi)存),將相應(yīng)數(shù)據(jù)塊調(diào)入內(nèi)存后,根據(jù)密集維的數(shù)據(jù)放置順序直接計算出要查詢的數(shù)據(jù)距離數(shù)據(jù)塊頭的偏移量,直接提取數(shù)據(jù)下傳到客戶端。因此,MOLAP 方式基本上是索引搜索與直接尋址的查詢方式相結(jié)合,比起ROLAP的表/索引搜索和表連接方式,速度要快得多。

多維聯(lián)機(jī)分析處理有以下特點(diǎn):

  • 需要預(yù)先定義概要文件;
  • 數(shù)據(jù)查詢采用索引搜索與直接尋址的方式相結(jié)合,不需要進(jìn)行表連接,在查詢性能測試中比起ROLAP有相當(dāng)大的優(yōu)勢;
  • 在進(jìn)行數(shù)據(jù)匯總查詢之前,MOLAP需要預(yù)先按概要文件中定義的數(shù)據(jù)匯總關(guān)系進(jìn)行計算,這個計算通常以批處理方式運(yùn)行。計算結(jié)果回存在數(shù)據(jù)文件中,當(dāng)用戶查詢時,直接調(diào)用計算結(jié)果,速度非???。
  • 無論是數(shù)據(jù)匯總還是計算衍生數(shù)據(jù),預(yù)先計算的方式實(shí)際上是用空間來換時間。當(dāng)然,用戶也可以選擇動態(tài)計算的方式,用查詢時間來換取存儲空間。MOLAP可以靈活調(diào)整時空的取舍平衡。
  • 用戶難以使用概要文件中沒有定義的數(shù)據(jù)匯總關(guān)系和衍生指標(biāo)。
  • 在大數(shù)據(jù)量環(huán)境下,關(guān)系型數(shù)據(jù)庫可以達(dá)到TB級的數(shù)據(jù)量,現(xiàn)有的MOLAP應(yīng)用局限于基于文件系統(tǒng)的處理和查詢方式,其性能會在100GB級別開始下降,需要進(jìn)行數(shù)據(jù)分區(qū)處理,因此擴(kuò)展性不如ROLAP。因此,MOLAP多數(shù)用于部門級的主題分析應(yīng)用。

3、其它考慮因素

聯(lián)機(jī)分析處理其他要素包括假設(shè)分析(What-if),復(fù)雜計算,數(shù)據(jù)評估等等。這些因素對用戶的分析效用至關(guān)重要,但是與ROLAP和MOLAP的核心工作原理的不一定有很緊密的關(guān)系,事實(shí)上,ROLAP和MOLAP都可以在以上三方面有所建樹,只不過實(shí)現(xiàn)的方法迥異。因此,這些因素更取決于各個廠商為他們的產(chǎn)品提供的外延功能。對于像IBM的DB2 OLAP Server這樣一個成熟的產(chǎn)品來說,這三方面均有獨(dú)特的優(yōu)勢:

1)假設(shè)分析

假設(shè)分析提出了類似于以下的問題:"如果產(chǎn)品降價5%,而運(yùn)費(fèi)增加8%,對不同地區(qū)的分銷商的進(jìn)貨成本會有什么影響?"這些問題常用于銷售預(yù)測、費(fèi)用預(yù)算分配、獎金制度確定等等。據(jù)此,用戶可以分析出哪些角度、哪些因素的變化將對企業(yè)產(chǎn)生重要影響;并且,用戶可以靈活調(diào)節(jié)自己手中掌握的資源(例如費(fèi)用預(yù)算等),將它用到最有效的地方中去。 假設(shè)分析要求OLAP系統(tǒng)能夠隨用戶的思路調(diào)整數(shù)據(jù),并動態(tài)反映出在調(diào)整后對其他數(shù)據(jù)的影響結(jié)果。事實(shí)上,進(jìn)入 OLAP的數(shù)據(jù)分兩大類:事實(shí)數(shù)據(jù)和預(yù)算數(shù)據(jù),例如本月實(shí)際發(fā)生的銷售額是事實(shí)數(shù)據(jù),上月對本月的銷售額估算是預(yù)算數(shù)據(jù)。事實(shí)數(shù)據(jù)一般情況下不容修改,而預(yù)算數(shù)據(jù)則應(yīng)常常進(jìn)行調(diào)整。DB2 OLAP Server通過詳細(xì)的權(quán)限定義區(qū)分了數(shù)據(jù)的讀寫權(quán)限,允許用戶對預(yù)算數(shù)據(jù)進(jìn)行更改,系統(tǒng)可以對其他受影響的數(shù)據(jù)進(jìn)行計算,以反映出"假如發(fā)生如上情況,將會引起以下結(jié)果"的結(jié)論。

2)復(fù)雜計算

分析人員往往需要分析復(fù)雜的衍生數(shù)據(jù),諸如:同期對比、期初/期末余額、百分比份額計算、資源分配(按從頂向下的結(jié)構(gòu)圖逐級分配)、移動平均、均方差等等。對這些要求,DB2 OLAP Server提供豐富的功能函數(shù)以便用戶使用。因?yàn)橹挥性跓o需編程的環(huán)境下,商業(yè)用戶才能更好地靈活利用這些功能進(jìn)行復(fù)雜的真實(shí)世界模擬。

3)數(shù)據(jù)評估

數(shù)據(jù)評估包括兩方面內(nèi)容,有效性評估和商業(yè)意義評估。在有效性評估方面,數(shù)據(jù)抽取、清洗和轉(zhuǎn)換的規(guī)則的定義是至關(guān)重要的。而合理的數(shù)據(jù)模型設(shè)計能有效防止無效數(shù)據(jù)的進(jìn)入。例如在ROLAP中,如果維表沒有采用范式設(shè)計(normalise design),可能會接受如下的維表:

機(jī)構(gòu)代碼機(jī)構(gòu)名稱所屬區(qū)縣所屬城市所屬省份
001越秀支行越秀區(qū)廣州廣東
002祖廟支行佛山廣州廣東
003翠屏支行佛山南海廣東
004。。。。。。。。。。。。

顯然,002中顯示的佛山屬于廣州市,與003中顯示的佛山屬于南海市是矛盾的。這顯示出數(shù)據(jù)源有問題,但是如果采用星型模式設(shè)計,ROLAP無法自動發(fā)現(xiàn)數(shù)據(jù)源的問題!

在類似情況下,MOLAP的表現(xiàn)稍占優(yōu)勢。因?yàn)镸OLAP需要預(yù)先定義概要文件,而概要文件會詳細(xì)分析維度的層次關(guān)系,因此生成概要文件時會反映數(shù)據(jù)源的錯誤。因此,在DB2 OLAP Server中,記錄003會被拒收,并紀(jì)錄在出錯日志中,供IT人員更正。

但是,OLAP對數(shù)據(jù)源有效性的驗(yàn)證能力畢竟是有限的,因此,數(shù)據(jù)有效性必須從源數(shù)據(jù)一級和數(shù)據(jù)抽取/清洗/轉(zhuǎn)換處理一級來進(jìn)行保障。

對用戶而言,數(shù)據(jù)的商業(yè)含義評估更有意義。在商業(yè)活動中,指標(biāo)數(shù)值的取值范圍是比較穩(wěn)定的,如果指標(biāo)數(shù)值突然發(fā)生變化,或者在同期比較、同類比較中有特殊表現(xiàn),意味著該指標(biāo)代表的方方面面具有特別的分析意義。普通的OLAP往往需要用戶自己去觀察發(fā)現(xiàn)異常指標(biāo),而DB2 OLAP Server的OLAP Minor(多維數(shù)據(jù)挖掘功能)能為用戶特別地指出哪些條件下的哪些指標(biāo)偏離常值,從而引起用戶的注意和思考。例如:12月份南部的圣誕禮品銷售額不到同期類似區(qū)域(東部、中部、西部)的50%。

綜上所述,無論ROLAP還是MOLAP,都能夠?qū)崿F(xiàn)聯(lián)機(jī)分析處理的基本功能,兩者在查詢效率,存儲空間和擴(kuò)展性方面各有千秋。IT人員在選擇OLAP系統(tǒng)時,既要考慮產(chǎn)品內(nèi)部的實(shí)現(xiàn)機(jī)制,同時也應(yīng)考慮假設(shè)分析,復(fù)雜計算,數(shù)據(jù)評估方面的功能,為實(shí)現(xiàn)決策管理信息系統(tǒng)打下堅實(shí)的基礎(chǔ)。

評論  |   0條評論