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