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