數據處理大致可以分成兩大類(lèi):聯(lián)機事務(wù)處理OLTP(on-line transaction processing)、聯(lián)機分析處理OLAP(On-Line Analytical Processing); OLTP是傳統的關(guān)系型數據庫的主要應用,主要是基本的、日常的事務(wù)處理,例如銀行交易。 通俗的講,就是對數據的增刪改查等操作。
OLAP是數據倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀(guān)易懂的查詢(xún)結果。是對數據按不同維度的聚合,維度的上鉆,下卷等。
OLAP可以分為ROLAP,MOLAP和HOLAP
ROLAP: 使用關(guān)系型數據庫或者擴展的關(guān)系型數據庫來(lái)管理數據倉庫數據,而OLAP中間件支持其余的功能。ROLAP包含了每個(gè)后端關(guān)系型數據庫的優(yōu)化,聚合,維度操作邏輯的實(shí)現,附件的工具以及服務(wù)等。所以ROLAP比MOLAP有更好的可伸縮性。 比較典型的ROLAP有mondrian, Presto(facebook)。目前阿里的DRDS也可以看作是ROLAP的框架
MOLAP: 通過(guò)基于數據立方體的多位存儲引擎,支持數據的多位視圖。即通過(guò)將多維視圖直接映射到數據立方體上,使用數據立方體能夠將預計算的匯總數據快速索引。
比較典型的MOLAP框架有kylin(apache), Lylin(ebay)、pinot(linkedin)和druid
也就是說(shuō)MOLAP是空間換時(shí)間,即把所有的分析情況都物化為物理表或者視圖,查詢(xún)的時(shí)候直接從相應的物化表中獲取數據, 而ROLAP則通過(guò)按維度分庫,分表等方式,實(shí)現單一維度下的快速查詢(xún),通過(guò)分布式框架,并行完成分析任務(wù),來(lái)實(shí)現數據的分析功能。MOLAP 實(shí)現較簡(jiǎn)單,但當分析的維度很多時(shí),數據量呈指數增長(cháng),而ROLAP在技術(shù)實(shí)現上要求更高,但擴展性也較好。
HOLAP: 混合OLAP結合ROLAP和MOLAP,得益于ROLAP較大的可伸縮性和MOLAP的快速查詢(xún)。


聯(lián)系客服