聯(lián)機(jī)分析(OLAP)處理專門(mén)設(shè)計(jì)用于支持復(fù)雜的分析操作,側(cè)重對(duì)決策人員和高層管理人員的決策支持,可以應(yīng)分析人員要求快速、靈活地進(jìn)行大數(shù)據(jù)量的復(fù)雜查詢處理,并且以一種直觀易懂的形式將查詢結(jié)果提供決策人員,.
1993年,E.F.Codd 將這類技術(shù)定義為“OLAP”。鑒于Codd 關(guān)系數(shù)據(jù)庫(kù)之父的影響。OLAP 的提出引起了很大反響,OLAP作為一類產(chǎn)品同OLTP明顯區(qū)別開(kāi)來(lái)。
Codd提出OLAP的12條準(zhǔn)則來(lái)描述OLAP系統(tǒng):
* 準(zhǔn)則1 OLAP模型必須提供多維概念視圖
* 準(zhǔn)則2 透明性準(zhǔn)則
* 準(zhǔn)則3 存取能力推測(cè)
* 準(zhǔn)則4 穩(wěn)定的報(bào)表能力
* 準(zhǔn)則5 客戶/服務(wù)器體系結(jié)構(gòu)
* 準(zhǔn)則6 維的等同性準(zhǔn)則
* 準(zhǔn)則7 動(dòng)態(tài)的稀疏矩陣處理準(zhǔn)則
* 準(zhǔn)則8 多用戶支持能力準(zhǔn)則
* 準(zhǔn)則9 非受限的跨維操作
* 準(zhǔn)則10 直觀的數(shù)據(jù)操縱
* 準(zhǔn)則11 靈活的報(bào)表生成
* 準(zhǔn)則12 不受限的維與聚集層次
你可以產(chǎn)看http://ttnn.c3crm.com/index.php?title=OLAP 獲得更多OLAP的信息。
rolap 中的r是relational的意思,使用關(guān)系數(shù)據(jù)庫(kù)RDBMS,所以性能的更多是靠RDBMS的性能和技巧,ROLAP支持更多的用戶和數(shù)據(jù)量,ROLAP將多維數(shù)據(jù)庫(kù)的多維結(jié)構(gòu)劃分為兩類表:一類是事實(shí)表,用來(lái)存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字(外鍵);另一類是維表,每個(gè)維至少使用一個(gè)表來(lái)存放維的層次,所謂的'"星型模式"就是指維表和事實(shí)表通過(guò)主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起。對(duì)于層次復(fù)雜的維,為避免冗余數(shù)據(jù)占用過(guò)大的存儲(chǔ)空間,可以使用多個(gè)表來(lái)描述,這種星型模式的擴(kuò)展稱為"雪花模式"。如果你對(duì)星型模型和雪花模型有興趣的話,也可以到http://mondrian.pentaho.org/documentation/aggregate_tables.php 看看。
molap 中的M是指multidimensional 多維的意思,它使用一種預(yù)先設(shè)計(jì)和計(jì)算過(guò)cube,所以數(shù)據(jù)處理的速度要快的多.
rolap和molap的比較:
rolap使用現(xiàn)有的RDBMS,相對(duì)容易建模和控制。相應(yīng)速度比MOLAP慢,數(shù)據(jù)裝載的速度快,儲(chǔ)存空間小,沒(méi)有文件大小的限制,數(shù)據(jù)庫(kù)可以做很多優(yōu)化.
molap性能好,反映速度快,但是建模的難度很大,而且無(wú)法支持維度的動(dòng)態(tài)變化,文件大小有限制,沒(méi)有象關(guān)系型數(shù)據(jù)庫(kù)那樣有標(biāo)準(zhǔn)的訪問(wèn)接口比如JDBC,ODBC之類的。
HOLAP 是混合OLAP。
DOLAP 是 Desktop的OLAP , 應(yīng)用不是很廣,了解一下就夠了。
OLAP 分為Server 和 Client .讓我們看看都又有那些開(kāi)源的產(chǎn)品實(shí)現(xiàn)了OLAP的功能。
Mondrian : http://mondrian.pentaho.org . Mondrian是開(kāi)源世界中最為有名的OLAP Server 了,在后面介紹Momdrian的時(shí)候會(huì)特別介紹的。
JPivot : http://jpivot.sourceforge.net/ 一個(gè)OLAP的客戶端,使用XML+XSL來(lái)展現(xiàn)OLAP的數(shù)據(jù),雖然我們總是說(shuō)Mondrian + JPivot ,但是其實(shí)Mondrian官方都說(shuō)他們是小心翼翼的分開(kāi)Mondrian + JPivot的,所以你可以任意選擇OLAP Server 和 OLAP Client 的組合的,JPivot 也支持MSSQL Server的 OLAP 數(shù)據(jù)源的.
Palo : http://www.imppalo.com/ 一個(gè)MOLAP實(shí)現(xiàn),已經(jīng)有商業(yè)化公司運(yùn)行了,產(chǎn)品相對(duì)成熟,如果你看過(guò)RoadMap 那一篇的話,你就應(yīng)該已經(jīng)知道spagoBI的roadmap里面已經(jīng)開(kāi)始要支持Palo了.
JPalo : http://www.jpalo.com/ 一個(gè)基于Palo的Java客戶端,基于eclipse的RCP 技術(shù),并提供API訪問(wèn)Palo的Server 。SpagoBI 在RoadMap中也計(jì)劃支持這對(duì)組合,Mondrian + JPivot 的競(jìng)爭(zhēng)對(duì)手.
Cubulus OLAP : http://cubulus.sourceforge.net/ 一個(gè)OLAP Server + Client , Python寫(xiě)的,目前支持mySQL,PostgreSQL , SQLite .看來(lái)還很不成熟。
openRubik : http://sourceforge.net/projects/open-rubik/ 一個(gè)基于WEB的OLAP 的 Client ,目前還沒(méi)有可以下載的版本。(沒(méi)有下載的你也寫(xiě)上去!可能跟Jrubik有關(guān),不然為什么叫openRubik 呢?)
Jrubik : http://rubik.sourceforge.net/ Jrubik 是一個(gè)基于Mondrian 或 MS Analysis的Java客戶端,是一個(gè)JPivot的Swing客戶端,基于JPivot的組件,Mondrian官方顯然知道JPivot的不足所以用Swing的架構(gòu)來(lái)擴(kuò)展OLAP 的功能.
FreeAnalysis : http://sourceforge.net/projects/freeanalysis/ 一個(gè)基于eclipse的RCP + WEB 2.0(Dojo) 的項(xiàng)目,目的是提供和Mondrian 和Microsoft Analysis 和 Hyperion相同功能,目前是0.69版,上面有個(gè)視頻可以看看Demo,感覺(jué)還不錯(cuò)。
FreeOLAP : http://freeolap.com/ 改名之前的FreeAnalysis
olap4j : http://sourceforge.net/projects/olap4j/ 上面就一個(gè)PDF文件,不知道它要干嘛。
OpenROLAP : http://www.openrolap.org/index.shtml 從名字就知道是ROLAP的Server 端。官方上面說(shuō)對(duì)RDBMS做了很多的優(yōu)化,支持大數(shù)據(jù)量。目前是0.1版,還很不成熟。
JMagallanes Olap and Report : http://sourceforge.net/projects/jmagallanes/ OLAP + Report . 只只有有這個(gè)名字,不知道是怎么樣子的.
JasperAnalysis : http://www.jaspersoft.com/ jaspersoft 一直在Mondrian就有開(kāi)發(fā)人員的,在mondrian的mail list 和 forum 里面經(jīng)常可以看到j(luò)aspersoft 的人,至于jaspersoft的analysis是怎么樣的我不知道,不過(guò)Mondrian有一個(gè)編寫(xiě)MDX Scheme的 workbench 軟件就是Jaspersoft里面的一個(gè)人做的,所以jaspersoft一直在OLAP方面都有投入的.(現(xiàn)在大家該相信我說(shuō)jaspersoft不光只是做報(bào)表了吧).
BIOLAP : http://biolap.sourceforge.net/ BIOLAP 是源與corwinjoy對(duì)JPivot顯示樹(shù)狀結(jié)構(gòu)不爽,然后跑到Mondrian的mail list里面去問(wèn)有沒(méi)有辦法顯示JTreeMap , Mondrian里面的人說(shuō)你可以自己去實(shí)現(xiàn)一個(gè),然后那個(gè)人就自己跑去實(shí)現(xiàn)了一個(gè)BIOLAP.
http://www.chinabi.net/CIO/knowledge/200706/444.html