本文主要面對OLAP入門同學,讀者可以對OLAP起源蹦误、核心概念和當前發(fā)展趨勢有一定理解劫拢。
OLAP起源
OLAP(Online analytical processing),即聯(lián)機分析處理强胰,主要用于支持企業(yè)決策管理分析舱沧。這個概念最初源于1962年Kenneth Iverson發(fā)表的名為“A Programming Language” (APL)的著作,它第一次提出了處理操作和多維變量的的數(shù)學表達式偶洋,后來APL語言由IBM實現(xiàn)熟吏。
隨后數(shù)據(jù)庫之父Edgar F. Codd提出了著名的關系數(shù)據(jù)模型理論《A Relational Model of Data for Large Shared Data Banks 》,為后面數(shù)據(jù)庫發(fā)展奠定基礎玄窝。
第一款OLAP產(chǎn)品Express于1975年問世牵寺,隨著被Oracle收購后繁榮發(fā)展了30余年,最后由繼任者Oracle 9i替代恩脂。這么多年過去缸剪,基本的OLAP理念和數(shù)據(jù)模型仍然未變。
OLAP這個名詞是數(shù)據(jù)庫之父Edgar F. Codd于1993年在文章《Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate》提出东亦,他總結了OLAP產(chǎn)品的12個原則,隨后OLAP產(chǎn)品相繼問世并逐漸形成今天的格局。
OLAP核心概念
基本概念
1) 維
- 維(Dimension):人們觀察事物的視角典阵,如時間奋渔、地理位置、年齡和性別等壮啊,是單一角度概念嫉鲸。
- 維的層次(Lever of Dimension):表示維度概念基礎上進一步的細分,如時間可以細分為年歹啼、季度玄渗、月三個層次。
- 維成員(Member of Dimension):表示維不可再細分的原子取值狸眼,如時間維的成員可以是2019年1月10日藤树。
- 度量(Measure):表示在這個維成員上的取值。
除了維的基本概念拓萌,還有多維分析的分析操作岁钓。
2)操作
- 下探(Drill down):維度是有層次的,下探表示進入維度的下一層微王,將匯總數(shù)據(jù)拆分到下一層所在細節(jié)數(shù)據(jù)信息屡限,如下圖從第二季度下探到看4、5炕倘、6月的明細數(shù)據(jù)钧大。
- 上鉆(Drill up): 下探的反向操作,回到更高匯聚層的匯總數(shù)據(jù)罩旋。
- 切片(Slice):切片可以理解成把立體按某一個維度進行切分啊央,就可以看兩維數(shù)據(jù),如圖中按電子產(chǎn)品切分瘸恼,看到的是時間和地理位置關系的二維數(shù)據(jù)劣挫。
- 切塊(Dice):相對于切片是按一個點切分,切塊就是按一個范圍(區(qū)間)來做切分东帅。
-
旋轉(Pivot):維的行列位置交換压固,換一個視角分析數(shù)據(jù)。
在這里插入圖片描述
OLAP分類
OLAP按存儲器的數(shù)據(jù)存儲格式分為ROLAP靠闭、MOLAP和HOLAP帐我。
-
MOLAP(Multi-dimensional OLAP)
以多維數(shù)組(Multi-dimensional Array)存儲模型的OLAP,是OLAP發(fā)源最初的形態(tài)愧膀,某些方面也等同于OLAP拦键。它的特點是數(shù)據(jù)需要預計算(pre-computaion),然后把預計算之后的結果(cube)存在多維數(shù)組里檩淋。- 優(yōu)點:
- cube包含所有維度的聚合結果芬为,所以查詢速度非程呀穑快。
- 計算結果數(shù)據(jù)占用的磁盤空間相對關系型數(shù)據(jù)庫更小
- 缺點:
- update cube的時間跟計算維度(degree)相關媚朦,可能隨著維度增加計算變慢氧敢,此外預計算還會造成數(shù)據(jù)占用非常大。
- 靈活度比較低询张,需要提前設計維度模型孙乖,查詢分析的內(nèi)容僅限于這些指定維度,
- 優(yōu)點:
-
ROLAP(Relational OLAP)
基于關系模型存放數(shù)據(jù)份氧,一般要求事實表(fact table)和維度表(dimensition table)按一定關系設計唯袄,它不需要預計算,使用標準SQL就可以根據(jù)需要即時查詢不同維度數(shù)據(jù)蜗帜。- 優(yōu)點
- 擴展性強恋拷,適用于維度數(shù)量多的模型,MOLAP對于維度多的模型預計算慢钮糖,空間占用大梅掠。
- 更適合處理non-aggregate事實,例如文本描述
- 基于row數(shù)據(jù)更容易做權限管理
- 缺點
- 查詢速度一般比MOLAP慢
- 優(yōu)點
HOLAP
業(yè)界還沒有一致的定義店归,它是MOLAP和ROLAP類型的混合運用阎抒,細節(jié)的數(shù)據(jù)以ROLAP的形式存放,更加方便靈活消痛,而高度聚合的數(shù)據(jù)以MOLAP的形式展現(xiàn)且叁,更適合于高效的分析處理。公司使用HOLAP的目的是根據(jù)不同場景來利用不同OLAP的特性秩伞。
OLAP業(yè)界產(chǎn)品
- MOLAP 產(chǎn)品有 Cognos Powerplay, Oracle Database OLAP Option, MicroStrategy, Microsoft Analysis Services, Essbase, TM1, Jedox 和 icCube逞带、kylin等等。
- ROLAP產(chǎn)品有Vertica纱新、Amazon Redshift展氓、Google Dremel、Hulu Nesto脸爱、Presto遇汞、Druid、Impala簿废、Greenplum空入、HAWQ和Doris等。
當前OLAP的發(fā)展狀態(tài)
在國內(nèi)族檬,不論傳統(tǒng)公司還是互聯(lián)網(wǎng)公司歪赢,都開始利用OLAP技術分析挖掘大數(shù)據(jù)的價值,除BAT等大廠會自研OLAP產(chǎn)品外单料,其他中小互聯(lián)網(wǎng)公司普遍擁抱開源埋凯,會使用Kylin点楼、Presto、impala递鹉、Druid和Greenplum等開源技術來實現(xiàn)OLAP分析查詢業(yè)務盟步。
開源OLAP產(chǎn)品可以進一步分類作為技術選型參考:
MOLAP:Kylin、Druid(其中druid用于實時在線分析場景)
ROLAP:Presto躏结、impala (都是基于MPP架構的OLAP分析框架)
參考來源
延深閱讀
關于OLAP的詳細來龍去脈:A survey on OLAP
(完)