達摩院數(shù)據(jù)庫負(fù)責(zé)人李飛飛:阿里如何打好數(shù)據(jù)庫之戰(zhàn)?
1970 年,關(guān)系數(shù)據(jù)庫之父、IBM研究員E.F.Codd發(fā)表了一篇名為《A Relational Modelof Data for Large Shared Data Banks》的論文,首次提出了關(guān)系模型的概念,并成為現(xiàn)代數(shù)據(jù)庫產(chǎn)品的主流,這是數(shù)據(jù)庫歷史上的一個重要轉(zhuǎn)折點,今天,我們看到的主流數(shù)據(jù)庫幾乎都是圍繞這一模型做研究。
1976年,霍尼韋爾公司(Honeywell)開發(fā)了Multics Relational Dat a Store,開啟了商用關(guān)系數(shù)據(jù)庫的時代。彼時Larry Ellison(甲骨文創(chuàng)始人)正在一家名為Ampex的軟件公司工作,該公司正為美國中央情報局工作。
1977年,Ellison 與 Bob Miner 和 Ed Oates創(chuàng)辦了一家名為軟件開發(fā)實驗室(Software Development Laboratories,SDL)的計算機公司(Oracle前身),并在創(chuàng)辦后的第三年里推出了第一個商用SQL關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
1983年,IBM終于將DB2帶入了商業(yè)市場;軟件巨頭微軟在1989年推出了另一個明星產(chǎn)品SQL Server。
自此,傳統(tǒng)商業(yè)數(shù)據(jù)庫幾乎成為這些企業(yè)的專利,壟斷了整個數(shù)據(jù)庫行業(yè)市場。
誰來改變數(shù)據(jù)庫“游戲規(guī)則”?
興起于2000年左右的開源數(shù)據(jù)庫是一種改變游戲規(guī)則的嘗試,而由云廠商主導(dǎo)的云原生數(shù)據(jù)庫則是將這種“改變”推向了高潮。
2014年,AWS發(fā)布了業(yè)內(nèi)首個云原生的關(guān)系型數(shù)據(jù)庫Aurora;2017年9月,阿里云在國內(nèi)率先發(fā)布了自主研發(fā)的云原生數(shù)據(jù)庫POLARDB,在2018年4月正式商用。
作為規(guī)則改變者,阿里數(shù)據(jù)庫的研究本身也是一條艱辛的道路。
如何看待數(shù)據(jù)庫云服務(wù)的未來?阿里有哪些核心的數(shù)據(jù)庫產(chǎn)品?在阿里云十周年北京峰會上,與ACM 杰出科學(xué)家得主、達摩院數(shù)據(jù)庫與存儲實驗室負(fù)責(zé)人李飛飛展開了對話。
此李飛飛非彼李飛飛,他究竟何許人也?在達摩院的官網(wǎng)上,對李飛飛的介紹是:
猶他大學(xué)計算機系終身教授。曾獲ACM、IEEE、Visa、Google、HP、華為等多個獎項,獲IEEE ICDE 2014 10年最有影響力論文獎、ACM SIGMOD 2016最佳論文獎、ACM SIGMOD 2015最佳系統(tǒng)演示獎、IEEE ICDE 2004最佳論文獎、美國NSF Career Award、中國基金委海外重點研發(fā)獎,2018年ACM杰出科學(xué)家等。擔(dān)任多個國際一流學(xué)術(shù)期刊和學(xué)術(shù)會議的編委、主席。
據(jù)李飛飛介紹,他是2018年5月正式加入阿里巴巴,成為數(shù)據(jù)庫團隊負(fù)責(zé)人,并兼任達摩院數(shù)據(jù)庫首席科學(xué)家,帶領(lǐng)團隊投入到具有自主知識產(chǎn)權(quán)的數(shù)據(jù)庫系統(tǒng)研發(fā)當(dāng)中。他的團隊打磨的產(chǎn)品和技術(shù)包括新一代分布式數(shù)據(jù)庫、非結(jié)構(gòu)化數(shù)據(jù)管理、數(shù)據(jù)安全、智能化數(shù)據(jù)庫等。
目前,李飛飛不僅負(fù)責(zé)云智能數(shù)據(jù)庫產(chǎn)業(yè)事業(yè)部,同時也負(fù)責(zé)達摩院下面的數(shù)據(jù)庫與存儲實驗室,覆蓋了阿里巴巴集團數(shù)據(jù)庫從研發(fā)到業(yè)務(wù)支持再到云上商業(yè)輸出到服務(wù)客戶的整條鏈路。
阿里巴巴數(shù)據(jù)庫三個階段:商用、開源、自研
李飛飛談到,阿里巴巴數(shù)據(jù)庫發(fā)展到今天,并不是一蹴而就的,而是有一段艱難的“破繭成蝶”的摸索期。
第一階段,阿里用的是商用數(shù)據(jù)庫,來自IBM DB2和甲骨文。
阿里早期是淘寶起家,IBM DB2和甲骨文的數(shù)據(jù)庫能支持淘寶天貓快速發(fā)展,因為那時候核心主航道就是電商,數(shù)據(jù)庫就是支撐角色出現(xiàn)的,當(dāng)時阿里集團內(nèi)部數(shù)據(jù)庫的團隊主要就是以傳統(tǒng)數(shù)據(jù)庫廠商的角度來理解問題。這一階段持續(xù)到2011年-2012年,彼時電商業(yè)務(wù)高速發(fā)展,對傳統(tǒng)的甲骨文企業(yè)級數(shù)據(jù)庫的解決方案提出很多挑戰(zhàn),最明顯的挑戰(zhàn)是成本太高,當(dāng)高并發(fā)互聯(lián)網(wǎng)電商發(fā)展到巨大的規(guī)模,那個成本將是天文數(shù)字。
第二階段,雙十一誕生后,阿里開始大規(guī)模使用開源數(shù)據(jù)庫。
很多業(yè)務(wù)邏輯太復(fù)雜,而單純使用甲骨文的弊端也開始顯現(xiàn),例如有些業(yè)務(wù)場景無法解決,簡單依靠請甲骨文的技術(shù)人員到場解決問題的方式一是成本高,二是時效上阿里等不起。這邊出個問題分鐘級就要恢復(fù),不要說一天了,幾個小時幾分鐘都等不起,不可能有些核心問題解決不了給甲骨文打電話,廠商派人來——這個模式是受到挑戰(zhàn)的,所以阿里巴巴集團從2012、2013年后,尤其是雙十一誕生以后,就開始考慮所謂的樸素的業(yè)務(wù)驅(qū)動的邏輯,開始大規(guī)模使用開源數(shù)據(jù)庫——當(dāng)時就是利用中間件的形式來做分布分表。
第三個階段,阿里云發(fā)展迅猛,自研云原生數(shù)據(jù)庫誕生。
到了云的時代,阿里云的業(yè)務(wù)快速發(fā)展,加上在集團業(yè)務(wù)里面,傳統(tǒng)的分布分表中間件的解決方案,已經(jīng)不能滿足(簡單業(yè)務(wù)可以)業(yè)務(wù)越來越復(fù)雜以后的挑戰(zhàn),內(nèi)部自研一款云原生數(shù)據(jù)庫已經(jīng)迫在眉睫。POLARDB就順勢而生了。
云數(shù)據(jù)庫POLARDB是何新物種?
資料顯示,POLARDB 是阿里云自研的下一代關(guān)系型云數(shù)據(jù)庫,100% 兼容 MySQL,存儲容量最高可達100 TB,性能最高提升至MySQL 的 6 倍,單庫最多可擴展到 16 個節(jié)點,適用于企業(yè)多樣化的數(shù)據(jù)庫應(yīng)用場景。POLARDB 采用存儲和計算分離的架構(gòu),所有計算節(jié)點共享一份數(shù)據(jù)。
POLARDB基于Cloud Native(云原生)設(shè)計理念,其架構(gòu)示意圖及特點如下:
POLARDB架構(gòu)
POLARDB的特點主要包括:
一寫多讀。采用分布式集群架構(gòu),一個集群包含一個主節(jié)點和最多15個只讀節(jié)點(至少一個,用于保障高可用)。主節(jié)點處理讀寫請求,只讀節(jié)點僅處理讀請求。主節(jié)點和只讀節(jié)點之間采用Active-Active的Failover方式,提供數(shù)據(jù)庫的高可用服務(wù)。
計算與存儲分離。滿足公有云環(huán)境下用戶業(yè)務(wù)彈性擴展的剛性需求。數(shù)據(jù)庫的計算節(jié)點(DB Server)僅存儲元數(shù)據(jù),而將數(shù)據(jù)文件、Redo Log等存儲于遠端的存儲節(jié)點(Chunk Server)。
此外,POLARDB還具有分鐘級備份恢復(fù)、秒級彈性擴容能力,100%兼容MySQL 5.6、MySQL 8.0、Oracle、PG等,還可以為Raft協(xié)議提供金融級高可用服務(wù)。注意到,目前POLARDB已經(jīng)在猿輔導(dǎo)、心動網(wǎng)絡(luò)、百勝軟件、輕松籌等平臺上應(yīng)用。
阿里數(shù)據(jù)庫生態(tài):四大板塊,巨大場景
但實際上,POLARDB只是阿里數(shù)據(jù)庫生態(tài)的其中一個版塊。
外界眼中那個“很龐大很復(fù)雜”的阿里數(shù)據(jù)庫究竟長什么樣?李飛飛做了簡單的梳理。他指出,從形態(tài)上來說,分為四個版塊。如圖。
第一塊:OLTP——關(guān)系型交易型數(shù)據(jù)庫。包括:POLARDB-X(今年即將推出的POLARDB分布式版本):分布式關(guān)系型數(shù)據(jù)庫系統(tǒng),橫向擴展架構(gòu)設(shè)計,應(yīng)用于跨IDC多活和雙十一等高并發(fā)業(yè)務(wù)場景;POLARDB——Cloud Native數(shù)據(jù)庫,基于共享存儲計算分離架構(gòu)的軟硬件,一體化設(shè)計、彈性縮擴容;MySQL/PG/MSSQL/MariaDB/PPAS——開源及第三方商業(yè)數(shù)據(jù)庫。
第二塊:OLAP——在線分析類數(shù)據(jù)庫。包括:AnalyticDB——海量數(shù)據(jù)實時高并發(fā)在線分析云服務(wù);Data Lake Analytics——Serverless化的聯(lián)邦數(shù)據(jù)湖交互式分析服務(wù);TSDB——時序時空數(shù)據(jù)庫,應(yīng)用于IoT/城市大腦等。
第三塊:NoSQL——非結(jié)構(gòu)化及專有領(lǐng)域。包括:GraphDB——高性能分布式緩存系統(tǒng)及基于此的圖數(shù)據(jù)庫;Redis/Memcache——開源緩存云服務(wù);MongoDB——文檔型數(shù)據(jù)庫等。
第四塊:工具產(chǎn)品。包括:DTS——數(shù)據(jù)傳輸服務(wù),異構(gòu)多活數(shù)據(jù)同步中心;DBS——數(shù)據(jù)庫云備份服務(wù)等。
前面已經(jīng)提到,發(fā)展成今天這樣的數(shù)據(jù)庫的生態(tài),阿里經(jīng)過了漫長的探索。李飛飛覺得,這和阿里與生俱來的一個優(yōu)勢緊密不可分——巨大豐富的場景。
傳統(tǒng)數(shù)據(jù)庫廠商的做法是,研發(fā)一款數(shù)據(jù)庫產(chǎn)品,讓客戶使用之后進行反饋,可以縫縫補補;而阿里內(nèi)部天然具有大量的業(yè)務(wù)場景,這就形成了一塊巨大的“試驗田”,任何一項新技術(shù)都不會急于在公有云上向客戶輸出,而是經(jīng)過“內(nèi)部練兵”的方式來驗證和保證可靠性、安全性,這些工作做完之后才會對公有云、私有云、混合云的客戶進行發(fā)布和提供。
這一點是阿里云、AWS這樣的企業(yè)共同具有的優(yōu)勢,而傳統(tǒng)的數(shù)據(jù)庫廠商則并不具備。
全球數(shù)據(jù)庫大戰(zhàn)一觸即發(fā)!
今天的阿里數(shù)據(jù)庫在國內(nèi)已經(jīng)屬于領(lǐng)先,但在國際市場怎么看自己的位置呢?
李飛飛同樣有自己的想法。他以原生分布式數(shù)據(jù)庫技術(shù)為例講了講(注:原生分布式數(shù)據(jù)庫是分布式數(shù)據(jù)庫兩大解決方案之一,另一種則是出現(xiàn)地更早的分布式數(shù)據(jù)庫中間件)。
在世界范圍內(nèi),原生分布式數(shù)據(jù)庫技術(shù)最領(lǐng)先的是Google,它最早提出Spanner,可以做到跨數(shù)據(jù)中心的數(shù)據(jù)一致性分布式技術(shù)(2009年10月25日,Google提出名為Spanner的遠景計劃。該規(guī)劃的原理是一旦流量激增、硬件超負(fù)荷,數(shù)據(jù)就會在百萬級的數(shù)據(jù)中心中自動轉(zhuǎn)移。Spanner:“扳手”,又有“橋梁的交叉支撐”。寓意為:“橫跨數(shù)據(jù)中心,自動移動與復(fù)制數(shù)據(jù)。”)Google在Spanner數(shù)據(jù)中心里配備了自己的原子鐘和GPS接收器,這些時間協(xié)調(diào)裝置會連接到特定數(shù)量的主服務(wù)器,然后再由主服務(wù)器向整個谷歌網(wǎng)絡(luò)中運行的其他電腦傳輸時間讀數(shù)。
李飛飛覺得Google有一個取巧的過程,即利用了硬件(原子鐘)。他個人認(rèn)為阿里巴巴在分布式數(shù)據(jù)庫某些領(lǐng)域、某些維度上可能超過像Google這樣的一些公司在分布式領(lǐng)域的積累。為什么?
“我覺得任何技術(shù)都是業(yè)務(wù)推動來衍生的,只要你有業(yè)務(wù)場景,我覺得你的技術(shù)一定會逐步發(fā)展到領(lǐng)先。而阿里電商雙十一的場景在世界上都是絕無僅有的,規(guī)模和并發(fā)量是超過Google和亞馬遜的,此前亞馬遜做了一個類似雙十一的活動,結(jié)果數(shù)據(jù)庫直接宕機。”(注:此次宕機事件有可能指的是CNBC報道過的亞馬遜因放棄Oracle數(shù)據(jù)庫,導(dǎo)致Prime Day宕機)
值得關(guān)注的是,李飛飛還透露了兩個重要的信息:
1、2019年下半年,他們團隊有可能將公布云原生數(shù)據(jù)庫POLARDB和分布式關(guān)系型數(shù)據(jù)庫X-DB合并的最新進展,也就是前文提到的POLARDB分布式版本。
2、他們團隊將在2019年的ACM SIGMOD數(shù)據(jù)管理國際會議(全球數(shù)據(jù)庫領(lǐng)域具有最高學(xué)術(shù)地位的國際性學(xué)術(shù)會議)上分享雙十一場景下的分布式數(shù)據(jù)庫架構(gòu)。據(jù)了解,谷歌Spanner、AWS Aurora等都是首先在SIDMOD會議上發(fā)布的。這實際上意味著中國廠商從技術(shù)上與頂級數(shù)據(jù)庫廠商站在了同一個舞臺上。
“從技術(shù)和商業(yè)角度往前看,我們希望永遠以業(yè)務(wù)來驅(qū)動技術(shù)發(fā)展,而不是閉門造車,研而不發(fā)。我們不說領(lǐng)先世界,但我們希望能夠永遠站在世界的前列,和AWS、甲骨文這些廠商站在技術(shù)和商業(yè)數(shù)據(jù)庫第一陣營的位置?!?/p>
對于業(yè)界極為關(guān)注的不同廠商數(shù)據(jù)庫之間的兼容問題,李飛飛一并做了解答。
他表示,阿里將盡可能去兼容現(xiàn)有生態(tài)而不是破壞現(xiàn)在的生態(tài)。業(yè)務(wù)上,阿里會鼓勵支持更多中小開發(fā)者以及合作伙伴、生態(tài)合作方能夠圍繞阿里現(xiàn)有的體系去開發(fā)上層的應(yīng)用,維護管控一系列的工具和人力投入。商業(yè)打法上,阿里會有專門的支持計劃推出,面對金融行業(yè)、政府行業(yè)、新零售行業(yè)重點打造典型案例。當(dāng)雙方數(shù)據(jù)庫之間有一個良性循環(huán),生態(tài)做的足夠大,就可以獨立發(fā)展自己的生態(tài)。
“當(dāng)我這個熱帶雨林也長起來以后,就是一個獨立的熱帶雨林,從你這分叉出去,就是我的目標(biāo)。不過我們現(xiàn)在還沒有到那一步,這是我們最終的目標(biāo)。”
在阿里云北京峰會當(dāng)天,阿里云發(fā)布了POLARDB v2.0,這是業(yè)界首款兼容Oracle的云原生數(shù)據(jù)庫。
加入阿里:迎接挑戰(zhàn),帶領(lǐng)團隊走向更遠
李飛飛坦言,他也面臨著一些挑戰(zhàn),但認(rèn)為這也是行業(yè)的一些共性挑戰(zhàn)。
第一個挑戰(zhàn)是內(nèi)外部的壓力。假如把傳統(tǒng)數(shù)據(jù)庫廠商比喻成汽車制造廠商,專門造車就完事了。而阿里不僅要造車,還要同時支持集團的業(yè)務(wù)、服務(wù)云上的外部用戶——既是制造商又是4S店,既有研發(fā)又有運維。
第二個是混合云的數(shù)據(jù)架構(gòu)帶來的業(yè)務(wù)上的挑戰(zhàn)。雖然說現(xiàn)在云計算市場蓬勃發(fā)展,無論是國內(nèi)阿里、騰訊、華為還是海外的AWS、微軟Azure,都面臨一個問題——上云不是黑和白、0和1的問題,而是有些業(yè)務(wù)可以上云,有些業(yè)務(wù)不上云(仍舊保持傳統(tǒng)IT架構(gòu)),如何保障安全穩(wěn)定高效的混合云部署是有挑戰(zhàn)的。
第三是數(shù)據(jù)的安全隱私保護,無論是AWS還是阿里云,這是一個永恒的話題。
第四是智能化系統(tǒng)的大規(guī)模落地應(yīng)用?,F(xiàn)在系統(tǒng)形態(tài)復(fù)雜、數(shù)據(jù)量越來越大,運維挑戰(zhàn)越來越高,依靠人力投入不是一個最佳選項,必須利用AI和機器學(xué)習(xí)的技術(shù)盡可能解決問題,提高運維效能。
但這些挑戰(zhàn)是李飛飛加入阿里之前就能想到的。作為橫跨了學(xué)術(shù)界、科研界、工業(yè)界的“全能型”技術(shù)人,他深刻洞悉了他在企業(yè)和學(xué)術(shù)圈的不同:
“企業(yè)界更多從應(yīng)用需求出發(fā),先解決問題再看怎么繼續(xù)跑,類似5+5不知道怎么計算的時候就全部拆成1,用工程化的思維去解決問題;而學(xué)術(shù)界和科研界會關(guān)注一些單點核心技術(shù)的突破和優(yōu)化,甚至進行前沿布局,但離集成到商業(yè)系統(tǒng)有一段路程。”
在采訪最后階段,談及加入阿里的原因,李飛飛十分直爽地表示,阿里的業(yè)務(wù)場景豐富,是一個天然的數(shù)據(jù)庫的圣地,能支持各種業(yè)務(wù)練兵,做最牛的技術(shù),同時又能商業(yè)化產(chǎn)業(yè)化。另外,他坦言,阿里互聯(lián)網(wǎng)化程度高,開放式、有合力,他在美國待那么多年,比較適應(yīng)這種文化。選擇加入阿里是個很自然的過程。
現(xiàn)在,全球數(shù)據(jù)庫市場競爭激烈,傳統(tǒng)廠商實力強大,李飛飛還將帶領(lǐng)阿里云數(shù)據(jù)庫和達摩院數(shù)據(jù)庫與存儲實驗室,繼續(xù)走向更深更遠處。