從事數(shù)據(jù)倉庫或者大數(shù)據(jù)的同學(xué),應(yīng)該經(jīng)常會(huì)聽到OLAP這個(gè)詞。什么OLAP分析,OLAP引擎等等名詞。今天就來聊聊什么是OLAP。
OLAP與OLTP
說起OLAP,就不得不提一下他的好兄弟OLTP,兩者經(jīng)常會(huì)被拿來比較。
首先,看一下兩者的
定義:
OLAP(On-Line Analytical Processing):聯(lián)機(jī)分析處理,OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。
OLTP(on-line transaction processing):聯(lián)機(jī)事務(wù)處理,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的事務(wù)處理。
區(qū)別:
通俗來講的話就是:OLTP主要是面向傳統(tǒng)的“增刪改查”事務(wù)系統(tǒng),數(shù)據(jù)大都是以實(shí)體對(duì)象模型來存儲(chǔ)數(shù)據(jù),并滿足3NF(數(shù)據(jù)庫第三范式),追求高并發(fā)場景下的快速響應(yīng)。而OLAP是面向決策分析場景,采用維度建模思想構(gòu)建模型,追求大規(guī)模聚合分析查詢的性能表現(xiàn)。
OLAP的分類
一般來說,根據(jù)建模方式OLAP可分為3種類型:關(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)。
ROLAP
一種通過在RDMS后端服務(wù)和客戶前端之間建立中間層的OLAP實(shí)現(xiàn)方式。通過RDMS來存儲(chǔ)和管理數(shù)據(jù)倉庫數(shù)據(jù),而通過OLAP中間件來實(shí)現(xiàn)多維數(shù)據(jù)上的操作映射為標(biāo)準(zhǔn)關(guān)系操作。
ROLAP的處理引擎主要有:Presto,Impala,GreenPlum,Clickhouse、Doris。
ROLAP 適用于對(duì)查詢模式不固定、查詢靈活性要求高的場景,但是處理的數(shù)據(jù)量級(jí)受限于引擎性能,對(duì)于超大數(shù)據(jù)量的復(fù)雜查詢表現(xiàn)不太好
MOLAP
MOLAP一般會(huì)根據(jù)用戶定義的數(shù)據(jù)維度、度量(也可以叫指標(biāo))在數(shù)據(jù)寫入時(shí)生成預(yù)聚合數(shù)據(jù);Query查詢到來時(shí),實(shí)際上查詢的是預(yù)聚合的數(shù)據(jù)而不是原始明細(xì)數(shù)據(jù),在查詢模式相對(duì)固定的場景中,這種優(yōu)化提速很明顯。
MOLAP的處理引擎主要有:Druid 和 Kylin
MOLAP 適用于查詢場景相對(duì)固定并且對(duì)查詢性能要求非常高的場景,靈活性較差。
HOLAP
HOLAP是 MOLAP 和 ROLAP 的一種融合。當(dāng)查詢聚合性數(shù)據(jù)的時(shí)候,使用MOLAP 技術(shù);當(dāng)查詢明細(xì)數(shù)據(jù)時(shí),使用 ROLAP 技術(shù)。
一般商業(yè)OLAP引擎是HOLAP架構(gòu),以便可以滿足不同客戶的需求。
OLAP的基本操作
OLAP的多維分析操作包括:鉆?。―rill-down)、上卷(Roll-up)、切片(Slice)、切塊(Dice)以及旋轉(zhuǎn)(Pivot)
鉆取(Drill-down):
在維的不同層次間的變化,從上層降到下一層,或者說是將匯總數(shù)據(jù)拆分到更細(xì)節(jié)的數(shù)據(jù),比如通過對(duì)2010年第二季度的總銷售數(shù)據(jù)進(jìn)行鉆取來查看2010年第二季度4、5、6每個(gè)月的消費(fèi)數(shù)據(jù),如上圖;當(dāng)然也可以鉆取浙江省來查看杭州市、寧波市、溫州市……這些城市的銷售數(shù)據(jù)。
上卷(Roll-up):
鉆取的逆操作,即從細(xì)粒度數(shù)據(jù)向高層的聚合,如將江蘇省、上海市和浙江省的銷售數(shù)據(jù)進(jìn)行匯總來查看江浙滬地區(qū)的銷售數(shù)據(jù),如上圖。
切片(Slice):
選擇維中特定的值進(jìn)行分析,比如只選擇電子產(chǎn)品的銷售數(shù)據(jù),或者2010年第二季度的數(shù)據(jù)。
切塊(Dice):
選擇維中特定區(qū)間的數(shù)據(jù)或者某批特定值進(jìn)行分析,比如選擇2010年第一季度到2010年第二季度的銷售數(shù)據(jù),或者是電子產(chǎn)品和日用品的銷售數(shù)據(jù)。
旋轉(zhuǎn)(Pivot):
即維的位置的互換,就像是二維表的行列轉(zhuǎn)換,如圖中通過旋轉(zhuǎn)實(shí)現(xiàn)產(chǎn)品維和地域維的互換。
常見OLAP引擎對(duì)比
文章來源:http://www.zghlxwxcb.cn/news/detail-458063.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-458063.html
到了這里,關(guān)于數(shù)據(jù)倉庫—什么是OLAP的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!