91精品国产手机在线-白筒袜嫩萝双腿之间乳白液体-青青操手机在线视频观看-日本中文字幕人妻日韩-日韩精品在线观看视频网站-天堂资源中文最新版在线一区-欧美专区一区二区三区-国产综合亚洲欧美在线-国产精品久久久久久福利69堂

Alibaba 螞蟻?zhàn)匝袛?shù)據(jù)庫(kù)OceanBase登頂TPC-H榜單,核心成員撰文講述背后思考( 二 )


天下大事,分久必合,合久必分 。HTAP本來(lái)也不能算是新概念 。TP和AP這兩種需求在數(shù)據(jù)庫(kù)的發(fā)展上已經(jīng)歷了漫長(zhǎng)的混合-分離-再融合過(guò)程 。
上世紀(jì)70年代末到90年代初是數(shù)據(jù)庫(kù)從理論到實(shí)踐逐漸成熟的黃金時(shí)代 。1970年,IBM的E. F. Codd提出了“關(guān)系型數(shù)據(jù)庫(kù)”的概念 。1974年,IBM著手研發(fā)System R數(shù)據(jù)庫(kù),極大地推動(dòng)了關(guān)系型數(shù)據(jù)庫(kù)概念的發(fā)展,并采用SQL作為標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)語(yǔ)言 。
70年代末到80年代初,有“數(shù)據(jù)庫(kù)先生”之稱(chēng)的圖靈獎(jiǎng)獲得者Jim Gray奠定了事務(wù)處理的理論基礎(chǔ) 。同一時(shí)期,System R系統(tǒng)的實(shí)現(xiàn)也催生了查詢優(yōu)化技術(shù) 。Selinger等人發(fā)表的“Access Path Selection in a Relational Database Management System”論文則被認(rèn)為是基于代價(jià)的查詢優(yōu)化技術(shù)的開(kāi)山之作 。1988年,IBM的Barry Devlin和Paul Murphy提出了專(zhuān)門(mén)用來(lái)做數(shù)據(jù)分析的“數(shù)據(jù)倉(cāng)庫(kù)”(以下簡(jiǎn)稱(chēng)“數(shù)倉(cāng)”)概念 。1993年,E. F. Codd仿照“On-line Transaction Processing”的結(jié)構(gòu)首次提出了“On-line Analytical Processing”的概念,一下子把數(shù)據(jù)分析的抽象和應(yīng)用提升到了一個(gè)新的層面 。可以說(shuō),在數(shù)據(jù)庫(kù)遠(yuǎn)古大神一個(gè)個(gè)粉墨登場(chǎng)的年代,TP和AP兩種場(chǎng)景就像一對(duì)被他們細(xì)心呵護(hù)的孿生兄弟茁壯地成長(zhǎng)著 。
隨著數(shù)據(jù)庫(kù)使用場(chǎng)景的日益豐富,TP和AP需求的矛盾逐漸顯露 。單機(jī)數(shù)據(jù)庫(kù)的處理能力畢竟有限,分布式數(shù)據(jù)庫(kù)的理論開(kāi)始出現(xiàn),工程實(shí)踐也遇到很多問(wèn)題 。
怎么同時(shí)處理TP和AP請(qǐng)求?1988年 提出的“數(shù)倉(cāng)”概念,背后隱藏的假設(shè)是TP和AP請(qǐng)求會(huì)放在不同的系統(tǒng)中處理 。這樣假設(shè)有業(yè)務(wù)發(fā)展和應(yīng)用架構(gòu)的必然性,但技術(shù)層面的限制也是不可回避的問(wèn)題 。畢竟在那個(gè)時(shí)代,作為分布式數(shù)據(jù)庫(kù)系統(tǒng)的TerADATA,最大只能支持1000個(gè)核和5TB存儲(chǔ) 。而且,真正能夠使用這樣高端系統(tǒng)的用戶寥寥無(wú)幾 。
當(dāng)用戶開(kāi)始被迫地把TP或者是AP的請(qǐng)求分成不同系統(tǒng)時(shí),專(zhuān)門(mén)處理TP和AP場(chǎng)景的數(shù)據(jù)庫(kù)隨之出現(xiàn) 。針對(duì)不同場(chǎng)景,采用不同引擎技術(shù),比如按行存儲(chǔ)或是按列存儲(chǔ),確實(shí)能夠大幅度提高特定場(chǎng)景下的數(shù)據(jù)庫(kù)性能 。
但不可否認(rèn),一個(gè)能同時(shí)處理TP和AP請(qǐng)求的數(shù)據(jù)庫(kù),對(duì)于用戶來(lái)說(shuō)是非常有價(jià)值的,除了能大幅度降低用戶成本外,還能明顯降低用戶系統(tǒng)的復(fù)雜性和運(yùn)維成本 。
因此,很多成熟的商業(yè)數(shù)據(jù)庫(kù),如Oracle、IBM DB2等,在保持極強(qiáng)的TP處理能力之外,從來(lái)沒(méi)有停止過(guò)對(duì)AP場(chǎng)景的支持和優(yōu)化 。如果大家看一下這些數(shù)據(jù)庫(kù)巨頭在頂級(jí)學(xué)術(shù)會(huì)議上發(fā)表的論文列表就會(huì)發(fā)現(xiàn),面向AP場(chǎng)景的論文,數(shù)量甚至比事務(wù)處理方向的還多,而且每年都有更新 。
2010年前后,隨著硬件能力越來(lái)越強(qiáng),尤其是SSD固態(tài)盤(pán)、大容量?jī)?nèi)存和多核CPU等技術(shù)的普及,大大增加了數(shù)據(jù)庫(kù)的設(shè)計(jì)可能,促使不少數(shù)據(jù)庫(kù)研究人員重新思考在同一個(gè)數(shù)據(jù)庫(kù)中處理TP和AP請(qǐng)求的可能,甚至包括當(dāng)初締造“數(shù)倉(cāng)”概念的Barry Devlin都提出,應(yīng)該“重新考慮將TP和AP分開(kāi)這一設(shè)計(jì)理念” 。今天,不少新的數(shù)據(jù)庫(kù)也開(kāi)始宣稱(chēng)支持HTAP,我想也是順應(yīng)了整個(gè)技術(shù)的大趨勢(shì) 。
二、OceanBase 把HTAP寫(xiě)入基因
OceanBase是2010年開(kāi)始在阿里集團(tuán)內(nèi)部自主研發(fā)的分布式數(shù)據(jù)庫(kù) 。最開(kāi)始基本就是在阿里、螞蟻內(nèi)部用,真正長(zhǎng)得像一個(gè)數(shù)據(jù)庫(kù)的樣子,應(yīng)該是從2014年啟動(dòng)OceanBase 1.0版本開(kāi)始的 。我也是在那個(gè)時(shí)候加入OceanBase,跟著團(tuán)隊(duì)一步步走到了今天 。
Alibaba 螞蟻?zhàn)匝袛?shù)據(jù)庫(kù)OceanBase登頂TPC-H榜單,核心成員撰文講述背后思考
文章圖片

回想當(dāng)初,數(shù)據(jù)庫(kù)的很多技術(shù)都在悄悄發(fā)生著變化 。一方面,以O(shè)racle為首的傳統(tǒng)數(shù)據(jù)庫(kù)在TP場(chǎng)景似乎已經(jīng)“獨(dú)孤求敗“,TPC-C世界紀(jì)錄已經(jīng)多年未被打破,而像OceanBase這樣的分布式數(shù)據(jù)庫(kù)還沒(méi)有看到挑戰(zhàn)Oracle霸主地位的可能 。
另外一方面,傳統(tǒng)數(shù)據(jù)庫(kù)的AP能力越來(lái)越跟不上數(shù)據(jù)規(guī)模和硬件的發(fā)展 。SSD、大容量?jī)?nèi)存、超高核數(shù)的CPU,這些理論上能帶來(lái)巨大性能提升的硬件無(wú)一不在挑戰(zhàn)傳統(tǒng)的數(shù)據(jù)庫(kù)軟件設(shè)計(jì) 。TPC-H榜單上,Oracle、SQL Server這種傳統(tǒng)數(shù)據(jù)庫(kù)被神秘的數(shù)據(jù)庫(kù)廠商Exasol虐的找不著北 。Exasol具體怎么實(shí)現(xiàn)的我不是特別清楚,但向量化引擎、cache-aware、列存、及時(shí)編譯(Just-in-Time compilation),大致總離不開(kāi)這幾個(gè)方向 。但傳統(tǒng)數(shù)據(jù)庫(kù)不是這么設(shè)計(jì)的,內(nèi)存能大到幾百GB甚至上TB?最初的數(shù)據(jù)庫(kù)設(shè)計(jì)者想都不敢想,更別提充分利用了,“守著金山要飯吃”,當(dāng)時(shí)的傳統(tǒng)數(shù)據(jù)庫(kù)看到硬件的發(fā)展就是這么一種感覺(jué)吧 。
當(dāng)時(shí)的我也在思考這個(gè)問(wèn)題:一個(gè)能同時(shí)處理好TP和AP請(qǐng)求、并且能充分挖掘硬件能力的數(shù)據(jù)庫(kù)到底應(yīng)該是什么樣的?“縫縫補(bǔ)補(bǔ)帶不來(lái)真正的技術(shù)革新” 。在一個(gè)現(xiàn)成的開(kāi)源組件去打補(bǔ)丁,或者簡(jiǎn)單重構(gòu)很難做出一個(gè)劃時(shí)代的產(chǎn)品,因?yàn)槲易约涸谝粋€(gè)面向AP的開(kāi)源引擎上嘗試過(guò)這件事兒,干到后面覺(jué)得比重寫(xiě)一個(gè)引擎難多了 。2014年OceanBase 1.0版本正在醞釀中,對(duì)我來(lái)說(shuō),做一個(gè)真正HTAP引擎的機(jī)會(huì)來(lái)了 。

推薦閱讀