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