OLAP技術(shù)路線分類
常見的OLAP系統(tǒng)可以分為以下三類:關(guān)系型聯(lián)機(jī)實(shí)時(shí)分析系統(tǒng)(Relational-OLAP,ROLAP),多維聯(lián)機(jī)實(shí)時(shí)分析系統(tǒng)(Multidimensional-OLAP,MOLAP),混合型聯(lián)機(jī)實(shí)時(shí)分析系統(tǒng)(Hybrid-OLAP,HOLAP)。
1.5.1 關(guān)系型聯(lián)機(jī)實(shí)時(shí)分析(ROLAP)
ROLAP的核心依賴于關(guān)系型數(shù)據(jù)庫,允許用戶使用維度模型進(jìn)行數(shù)據(jù)分析,將維度值存儲(chǔ)在維度表中,將度量值存儲(chǔ)在事實(shí)表中,通過關(guān)系型數(shù)據(jù)庫訪問數(shù)據(jù),使用SQL進(jìn)行查詢分析。ROLAP的一般使用模式概括如下:根據(jù)用戶的需求,對(duì)不同維度進(jìn)行分析后,將分析數(shù)據(jù)導(dǎo)入到另一張數(shù)據(jù)庫表中。
ROLAP的優(yōu)勢(shì):
?。?)處理高基數(shù)列具有更好的擴(kuò)展性;
?。?)擅長處理非聚合類的原始數(shù)據(jù),生態(tài)圈內(nèi)用于原始數(shù)據(jù)入庫的ETL工具眾多,同時(shí)比MOLAP入庫速率更高;
?。?)由于數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,所以支持標(biāo)準(zhǔn)SQL接口,查詢便捷;
ROLAP的劣勢(shì):
?。?)根據(jù)OLAP survey(http://www.olapreport.com/survey.htm)在2001-2006年連續(xù)6年的調(diào)研顯示,工業(yè)界普遍認(rèn)為ROLAP的性能要低于MOLAP。但也有人提出質(zhì)疑,爭(zhēng)議包含兩方面:ROLAP的用戶數(shù)是MOLAP的7倍多,那么抱怨產(chǎn)品性能差的比例自然更高;其他因素的影響,上述調(diào)研報(bào)告并沒有將ROLAP產(chǎn)品和MOLAP產(chǎn)品放在同一個(gè)維度模型上進(jìn)行比較,所以該報(bào)告結(jié)論并不具有權(quán)威性;
(2)處理已聚合的數(shù)據(jù),需要使用定制的ETL工具,開發(fā)量大且不具有通用性;如果采用原始數(shù)據(jù)入庫,將非常影響查詢性能,如果想要提升查詢性能,需要將已入庫的原始數(shù)據(jù)重新聚合后再導(dǎo)入到新的表中進(jìn)行查詢分析;
(3)ROLAP的性能很大程度上依賴于使用的關(guān)系型數(shù)據(jù)庫的查詢與緩存性能;同時(shí)對(duì)于所有分析操作,都依賴于SQL語句,對(duì)于重計(jì)算類的分析模型,轉(zhuǎn)換后的SQL就會(huì)變得復(fù)雜,對(duì)分析者的SQL語句的調(diào)優(yōu)要求較高,而在某些無法使用SQL的場(chǎng)景下,ROLAP類產(chǎn)品則變得無能為力。
1.5.2 多維聯(lián)機(jī)實(shí)時(shí)分析(MOLAP)
MOLAP是OLAP的經(jīng)典使用模式,所以經(jīng)常用MOLAP來指代OLAP。MOLAP和ROLAP具有一定的相似性,二者都可以使用維度模型進(jìn)行數(shù)據(jù)分析,但是MOLAP并不將數(shù)據(jù)存儲(chǔ)在維度表或者事實(shí)表中,而是對(duì)原始數(shù)據(jù)進(jìn)行預(yù)計(jì)算(比如聚合操作),將計(jì)算結(jié)果存儲(chǔ)在OLAP cube中。
MOLAP的優(yōu)勢(shì):
?。?)由于MOLAP不采用關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ),所以必須采用特殊的存儲(chǔ)手段,例如:壓縮存儲(chǔ)、索引(例如位圖索引)以及緩存技術(shù)等,查詢速率更快;
MOLAP的劣勢(shì):
?。?)數(shù)據(jù)導(dǎo)入較慢,需要使用定制的ETL入庫工具;
?。?)由于沒有維度表和事實(shí)表,所以對(duì)于更新操作以及明細(xì)查詢,效率要比ROLAP低很多。
1.5.3 混合型聯(lián)機(jī)實(shí)時(shí)分析(HOLAP)
HOLAP充分利用了ROLAP與MOLAP的各自優(yōu)勢(shì),從縱向角度,既允許用戶將部分?jǐn)?shù)據(jù)(比如聚合類數(shù)據(jù))使用MOLAP進(jìn)行存儲(chǔ),從而獲得更快的查詢性能;又允許部分?jǐn)?shù)據(jù)(比如原始數(shù)據(jù))使用ROLAP進(jìn)行存儲(chǔ),使用戶能夠查看細(xì)粒度數(shù)據(jù)。從橫向角度,使用MOLAP存儲(chǔ)最近較熱的數(shù)據(jù),從而提升查詢性能;而使用ROLAP存儲(chǔ)歷史較冷的數(shù)據(jù)。
目前,商業(yè)類的OLAP產(chǎn)品更偏向于HOLAP,因?yàn)榇髲S既不想丟棄一直使用的關(guān)系型數(shù)據(jù)庫,又想在數(shù)據(jù)分析能力上獲得進(jìn)一步提升,所以HOLAP類產(chǎn)品近幾年也是百花齊放。
評(píng)論
查看更多