0
1970 年,關系數據庫之父、IBM研究員E.F.Codd發表了一篇名為《A Relational Modelof Data for Large Shared Data Banks》的論文,首次提出了關系模型的概念,并成為現代數據庫產品的主流,這是數據庫歷史上的一個重要轉折點,今天,我們看到的主流數據庫幾乎都是圍繞這一模型做研究。

1976年,霍尼韋爾公司(Honeywell)開發了Multics Relational Dat a Store,開啟了商用關系數據庫的時代。彼時Larry Ellison(甲骨文創始人)正在一家名為Ampex的軟件公司工作,該公司正為美國中央情報局工作。
1977年,Ellison 與 Bob Miner 和 Ed Oates創辦了一家名為軟件開發實驗室(Software Development Laboratories,SDL)的計算機公司(Oracle前身),并在創辦后的第三年里推出了第一個商用SQL關系數據庫管理系統。
1983年,IBM終于將DB2帶入了商業市場;軟件巨頭微軟在1989年推出了另一個明星產品SQL Server。
自此,傳統商業數據庫幾乎成為這些企業的專利,壟斷了整個數據庫行業市場。
誰來改變數據庫“游戲規則”?
興起于2000年左右的開源數據庫是一種改變游戲規則的嘗試,而由云廠商主導的云原生數據庫則是將這種“改變”推向了高潮。

2014年,AWS發布了業內首個云原生的關系型數據庫Aurora;2017年9月,阿里云在國內率先發布了自主研發的云原生數據庫POLARDB,在2018年4月正式商用。
作為規則改變者,阿里數據庫的研究本身也是一條艱辛的道路。
如何看待數據庫云服務的未來?阿里有哪些核心的數據庫產品?在阿里云十周年北京峰會上,雷鋒網與ACM 杰出科學家得主、達摩院數據庫與存儲實驗室負責人李飛飛展開了對話。
此李飛飛非彼李飛飛,他究竟何許人也?在達摩院的官網上,對李飛飛的介紹是:

猶他大學計算機系終身教授。曾獲ACM、IEEE、Visa、Google、HP、華為等多個獎項,獲IEEE ICDE 2014 10年最有影響力論文獎、ACM SIGMOD 2016最佳論文獎、ACM SIGMOD 2015最佳系統演示獎、IEEE ICDE 2004最佳論文獎、美國NSF Career Award、中國基金委海外重點研發獎,2018年ACM杰出科學家等。擔任多個國際一流學術期刊和學術會議的編委、主席。
據李飛飛介紹,他是2018年5月正式加入阿里巴巴,成為數據庫團隊負責人,并兼任達摩院數據庫首席科學家,帶領團隊投入到具有自主知識產權的數據庫系統研發當中。他的團隊打磨的產品和技術包括新一代分布式數據庫、非結構化數據管理、數據安全、智能化數據庫等。
目前,李飛飛不僅負責云智能數據庫產業事業部,同時也負責達摩院下面的數據庫與存儲實驗室,覆蓋了阿里巴巴集團數據庫從研發到業務支持再到云上商業輸出到服務客戶的整條鏈路。
阿里巴巴數據庫三個階段:商用、開源、自研
李飛飛談到,阿里巴巴數據庫發展到今天,并不是一蹴而就的,而是有一段艱難的“破繭成蝶”的摸索期。
第一階段,阿里用的是商用數據庫,來自IBM DB2和甲骨文。
阿里早期是淘寶起家,IBM DB2和甲骨文的數據庫能支持淘寶天貓快速發展,因為那時候核心主航道就是電商,數據庫就是支撐角色出現的,當時阿里集團內部數據庫的團隊主要就是以傳統數據庫廠商的角度來理解問題。這一階段持續到2011年-2012年,彼時電商業務高速發展,對傳統的甲骨文企業級數據庫的解決方案提出很多挑戰,最明顯的挑戰是成本太高,當高并發互聯網電商發展到巨大的規模,那個成本將是天文數字。
第二階段,雙十一誕生后,阿里開始大規模使用開源數據庫。
很多業務邏輯太復雜,而單純使用甲骨文的弊端也開始顯現,例如有些業務場景無法解決,簡單依靠請甲骨文的技術人員到場解決問題的方式一是成本高,二是時效上阿里等不起。這邊出個問題分鐘級就要恢復,不要說一天了,幾個小時幾分鐘都等不起,不可能有些核心問題解決不了給甲骨文打電話,廠商派人來——這個模式是受到挑戰的,所以阿里巴巴集團從2012、2013年后,尤其是雙十一誕生以后,就開始考慮所謂的樸素的業務驅動的邏輯,開始大規模使用開源數據庫——當時就是利用中間件的形式來做分布分表。
第三個階段,阿里云發展迅猛,自研云原生數據庫誕生。
到了云的時代,阿里云的業務快速發展,加上在集團業務里面,傳統的分布分表中間件的解決方案,已經不能滿足(簡單業務可以)業務越來越復雜以后的挑戰,內部自研一款云原生數據庫已經迫在眉睫。POLARDB就順勢而生了。
云數據庫POLARDB是何新物種?
資料顯示,POLARDB 是阿里云自研的下一代關系型云數據庫,100% 兼容 MySQL,存儲容量最高可達100 TB,性能最高提升至MySQL 的 6 倍,單庫最多可擴展到 16 個節點,適用于企業多樣化的數據庫應用場景。POLARDB 采用存儲和計算分離的架構,所有計算節點共享一份數據。
POLARDB基于Cloud Native(云原生)設計理念,其架構示意圖及特點如下:

POLARDB架構
POLARDB的特點主要包括:
一寫多讀。采用分布式集群架構,一個集群包含一個主節點和最多15個只讀節點(至少一個,用于保障高可用)。主節點處理讀寫請求,只讀節點僅處理讀請求。主節點和只讀節點之間采用Active-Active的Failover方式,提供數據庫的高可用服務。
計算與存儲分離。滿足公有云環境下用戶業務彈性擴展的剛性需求。數據庫的計算節點(DB Server)僅存儲元數據,而將數據文件、Redo Log等存儲于遠端的存儲節點(Chunk Server)。
此外,POLARDB還具有分鐘級備份恢復、秒級彈性擴容能力,100%兼容MySQL 5.6、MySQL 8.0、Oracle、PG等,還可以為Raft協議提供金融級高可用服務。雷鋒網注意到,目前POLARDB已經在猿輔導、心動網絡、百勝軟件、輕松籌等平臺上應用。
阿里數據庫生態:四大板塊,巨大場景
但實際上,POLARDB只是阿里數據庫生態的其中一個版塊。
外界眼中那個“很龐大很復雜”的阿里數據庫究竟長什么樣?李飛飛做了簡單的梳理。他指出,從形態上來說,分為四個版塊。如圖。

第一塊:OLTP——關系型交易型數據庫。包括:POLARDB-X(今年即將推出的POLARDB分布式版本):分布式關系型數據庫系統,橫向擴展架構設計,應用于跨IDC多活和雙十一等高并發業務場景;POLARDB——Cloud Native數據庫,基于共享存儲計算分離架構的軟硬件,一體化設計、彈性縮擴容;MySQL/PG/MSSQL/MariaDB/PPAS——開源及第三方商業數據庫。
第二塊:OLAP——在線分析類數據庫。包括:AnalyticDB——海量數據實時高并發在線分析云服務;Data Lake Analytics——Serverless化的聯邦數據湖交互式分析服務;TSDB——時序時空數據庫,應用于IoT/城市大腦等。
第三塊:NoSQL——非結構化及專有領域。包括:GraphDB——高性能分布式緩存系統及基于此的圖數據庫;Redis/Memcache——開源緩存云服務;MongoDB——文檔型數據庫等。
第四塊:工具產品。包括:DTS——數據傳輸服務,異構多活數據同步中心;DBS——數據庫云備份服務等。
前面已經提到,發展成今天這樣的數據庫的生態,阿里經過了漫長的探索。李飛飛覺得,這和阿里與生俱來的一個優勢緊密不可分——巨大豐富的場景。
傳統數據庫廠商的做法是,研發一款數據庫產品,讓客戶使用之后進行反饋,可以縫縫補補;而阿里內部天然具有大量的業務場景,這就形成了一塊巨大的“試驗田”,任何一項新技術都不會急于在公有云上向客戶輸出,而是經過“內部練兵”的方式來驗證和保證可靠性、安全性,這些工作做完之后才會對公有云、私有云、混合云的客戶進行發布和提供。
這一點是阿里云、AWS這樣的企業共同具有的優勢,而傳統的數據庫廠商則并不具備。
全球數據庫大戰一觸即發!
今天的阿里數據庫在國內已經屬于領先,但在國際市場怎么看自己的位置呢?
李飛飛同樣有自己的想法。他以原生分布式數據庫技術為例講了講(雷鋒網注:原生分布式數據庫是分布式數據庫兩大解決方案之一,另一種則是出現地更早的分布式數據庫中間件)。
在世界范圍內,原生分布式數據庫技術最領先的是Google,它最早提出Spanner,可以做到跨數據中心的數據一致性分布式技術(2009年10月25日,Google提出名為Spanner的遠景計劃。該規劃的原理是一旦流量激增、硬件超負荷,數據就會在百萬級的數據中心中自動轉移。Spanner:“扳手”,又有“橋梁的交叉支撐”。寓意為:“橫跨數據中心,自動移動與復制數據。”)Google在Spanner數據中心里配備了自己的原子鐘和GPS接收器,這些時間協調裝置會連接到特定數量的主服務器,然后再由主服務器向整個谷歌網絡中運行的其他電腦傳輸時間讀數。
李飛飛覺得Google有一個取巧的過程,即利用了硬件(原子鐘)。他個人認為阿里巴巴在分布式數據庫某些領域、某些維度上可能超過像Google這樣的一些公司在分布式領域的積累。為什么?
“我覺得任何技術都是業務推動來衍生的,只要你有業務場景,我覺得你的技術一定會逐步發展到領先。而阿里電商雙十一的場景在世界上都是絕無僅有的,規模和并發量是超過Google和亞馬遜的,此前亞馬遜做了一個類似雙十一的活動,結果數據庫直接宕機。”(雷鋒網注:此次宕機事件有可能指的是CNBC報道過的亞馬遜因放棄Oracle數據庫,導致Prime Day宕機 )
值得關注的是,李飛飛還透露了兩個重要的信息:
1、2019年下半年,他們團隊有可能將公布云原生數據庫POLARDB和分布式關系型數據庫X-DB合并的最新進展,也就是前文提到的POLARDB分布式版本。
2、他們團隊將在2019年的ACM SIGMOD數據管理國際會議(全球數據庫領域具有最高學術地位的國際性學術會議)上分享雙十一場景下的分布式數據庫架構。據了解,谷歌Spanner、AWS Aurora等都是首先在SIDMOD會議上發布的。這實際上意味著中國廠商從技術上與頂級數據庫廠商站在了同一個舞臺上。
“從技術和商業角度往前看,我們希望永遠以業務來驅動技術發展,而不是閉門造車,研而不發。我們不說領先世界,但我們希望能夠永遠站在世界的前列,和AWS、甲骨文這些廠商站在技術和商業數據庫第一陣營的位置。”
對于業界極為關注的不同廠商數據庫之間的兼容問題,李飛飛一并做了解答。
他表示,阿里將盡可能去兼容現有生態而不是破壞現在的生態。業務上,阿里會鼓勵支持更多中小開發者以及合作伙伴、生態合作方能夠圍繞阿里現有的體系去開發上層的應用,維護管控一系列的工具和人力投入。商業打法上,阿里會有專門的支持計劃推出,面對金融行業、政府行業、新零售行業重點打造典型案例。當雙方數據庫之間有一個良性循環,生態做的足夠大,就可以獨立發展自己的生態。
“當我這個熱帶雨林也長起來以后,就是一個獨立的熱帶雨林,從你這分叉出去,就是我的目標。不過我們現在還沒有到那一步,這是我們最終的目標。”

在阿里云北京峰會當天,阿里云發布了POLARDB v2.0,這是業界首款兼容Oracle的云原生數據庫。
加入阿里:迎接挑戰,帶領團隊走向更遠
李飛飛坦言,他也面臨著一些挑戰,但雷鋒網認為這也是行業的一些共性挑戰。
第一個挑戰是內外部的壓力。假如把傳統數據庫廠商比喻成汽車制造廠商,專門造車就完事了。而阿里不僅要造車,還要同時支持集團的業務、服務云上的外部用戶——既是制造商又是4S店,既有研發又有運維。
第二個是混合云的數據架構帶來的業務上的挑戰。雖然說現在云計算市場蓬勃發展,無論是國內阿里、騰訊、華為還是海外的AWS、微軟Azure,都面臨一個問題——上云不是黑和白、0和1的問題,而是有些業務可以上云,有些業務不上云(仍舊保持傳統IT架構),如何保障安全穩定高效的混合云部署是有挑戰的。
第三是數據的安全隱私保護,無論是AWS還是阿里云,這是一個永恒的話題。
第四是智能化系統的大規模落地應用。現在系統形態復雜、數據量越來越大,運維挑戰越來越高,依靠人力投入不是一個最佳選項,必須利用AI和機器學習的技術盡可能解決問題,提高運維效能。
但這些挑戰是李飛飛加入阿里之前就能想到的。作為橫跨了學術界、科研界、工業界的“全能型”技術人,他深刻洞悉了他在企業和學術圈的不同:
“企業界更多從應用需求出發,先解決問題再看怎么繼續跑,類似5+5不知道怎么計算的時候就全部拆成1,用工程化的思維去解決問題;而學術界和科研界會關注一些單點核心技術的突破和優化,甚至進行前沿布局,但離集成到商業系統有一段路程。”
在采訪最后階段,談及加入阿里的原因,李飛飛十分直爽地表示,阿里的業務場景豐富,是一個天然的數據庫的圣地,能支持各種業務練兵,做最牛的技術,同時又能商業化產業化。另外,他坦言,阿里互聯網化程度高,開放式、有合力,他在美國待那么多年,比較適應這種文化。選擇加入阿里是個很自然的過程。
現在,全球數據庫市場競爭激烈,傳統廠商實力強大,李飛飛還將帶領阿里云數據庫和達摩院數據庫與存儲實驗室,繼續走向更深更遠處。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。