羅杰
近日Gartner公布了全球數(shù)據(jù)庫(kù)最新排名,全球格局和十年前相比發(fā)生了巨大的變化,除了老牌的甲骨文、IBM、微軟、SAP和Teradata外,有5家新秀進(jìn)入了全球前十。國(guó)內(nèi)廠商里成績(jī)最好的阿里云,第一次入圍Gartner報(bào)告時(shí)僅排名全球第26名,用了不到6年時(shí)間,已殺到全球第7的位置,超過(guò)了老牌數(shù)據(jù)倉(cāng)庫(kù)廠商Teradata,呈現(xiàn)不斷上升的趨勢(shì)。
數(shù)據(jù)庫(kù)與中間件和操作系統(tǒng)并列為全球三大基礎(chǔ)軟件技術(shù),也是企業(yè)IT系統(tǒng)必不可少的核心技術(shù),銀行、電信、制造、互聯(lián)網(wǎng)等所有行業(yè)都依賴(lài)于數(shù)據(jù)庫(kù)技術(shù)。這二十年來(lái),商業(yè)數(shù)據(jù)庫(kù)市場(chǎng)仍然是IT行業(yè)最穩(wěn)定、最具黏性的領(lǐng)域之一。由于其技術(shù)的高難度,數(shù)據(jù)庫(kù)長(zhǎng)期以來(lái)被少數(shù)公司控制了絕大部分市場(chǎng)份額。據(jù)不同的統(tǒng)計(jì)口徑,全球數(shù)據(jù)庫(kù)市場(chǎng)在300億到600億美元之間,商用數(shù)據(jù)庫(kù)的領(lǐng)導(dǎo)廠商主要是Oracle、微軟、IBM和SAP。
數(shù)據(jù)庫(kù)并非新興行業(yè),在50多年的發(fā)展過(guò)程中經(jīng)歷了多個(gè)時(shí)代的演進(jìn),從傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)演進(jìn)到了如今的云原生數(shù)據(jù)庫(kù),到現(xiàn)在已經(jīng)是百億美元的產(chǎn)業(yè)。
故事要從上世紀(jì)60—70年代講起。與現(xiàn)在硬件發(fā)展的步伐落后于軟件、算法截然不同,早期的科技發(fā)展幾乎都是硬件驅(qū)動(dòng)軟件。當(dāng)時(shí)計(jì)算機(jī)由晶體管時(shí)代進(jìn)入集成電路時(shí)代,計(jì)算能力、內(nèi)存容量都得到了大幅提升,計(jì)算機(jī)也不僅僅用于軍事領(lǐng)域,不少中小企業(yè)也開(kāi)始使用它做數(shù)據(jù)管理。但遺憾的是,傳統(tǒng)的文件系統(tǒng)在面對(duì)更為復(fù)雜的數(shù)據(jù)時(shí)捉襟見(jiàn)肘,這主要因?yàn)閿?shù)據(jù)共享性差并且無(wú)法描述數(shù)據(jù)之間的關(guān)系,而數(shù)據(jù)庫(kù)就是在這一背景下誕生的。
1970 年,關(guān)系數(shù)據(jù)庫(kù)之父、IBM研究員E.F.Codd發(fā)表了一篇名為《A Relational Modelof Data for Large Shared Data Banks》的論文,首次提出了關(guān)系模型的概念,并成為現(xiàn)代數(shù)據(jù)庫(kù)產(chǎn)品的主流,這是數(shù)據(jù)庫(kù)歷史上的一個(gè)重要轉(zhuǎn)折點(diǎn),今天,我們看到的主流數(shù)據(jù)庫(kù)幾乎都是圍繞這一模型做研究。
事實(shí)上,市場(chǎng)上的相關(guān)數(shù)據(jù)庫(kù)產(chǎn)品直至1976年才誕生,霍尼韋爾公司開(kāi)發(fā)了Multics Relational Data Store,開(kāi)啟了商用關(guān)系數(shù)據(jù)庫(kù)的時(shí)代。彼時(shí)Larry Ellison正在一家名為Ampex的軟件公司工作,該公司正為美國(guó)中央情報(bào)局工作。
1977年,Ellison與 Bob Miner 和 Ed Oates創(chuàng)辦了一家名為軟件開(kāi)發(fā)實(shí)驗(yàn)室(Software Development Laboratories,SDL)的計(jì)算機(jī)公司(Oracle前身),并在創(chuàng)辦后的第三年里推出了第一個(gè)商用SQL關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。
而關(guān)系數(shù)據(jù)庫(kù)的提出者,IBM起了個(gè)大早,趕了個(gè)晚集,1983年終于將DB2帶入了商業(yè)市場(chǎng);軟件巨頭微軟在1989年推出了另一個(gè)明星產(chǎn)品SQL Server。
傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)幾乎成為這些企業(yè)的專(zhuān)利,壟斷了整個(gè)數(shù)據(jù)庫(kù)行業(yè)市場(chǎng)。在市場(chǎng)驅(qū)動(dòng)下,商業(yè)數(shù)據(jù)庫(kù)成為和操作系統(tǒng)一樣重要的軟件,幾乎每家大型企業(yè)都需要從Oracle買(mǎi)來(lái)大量的數(shù)據(jù)庫(kù)軟件,盡管價(jià)格居高不下,企業(yè)怨聲載道,但當(dāng)時(shí)并沒(méi)有可替代方案。例如,在電商場(chǎng)景中,幾百萬(wàn)人甚至是千萬(wàn)人的同時(shí)在線購(gòu)買(mǎi),這樣的并發(fā)量跟過(guò)去的傳統(tǒng)業(yè)務(wù)場(chǎng)景相比是幾個(gè)數(shù)量級(jí)的增長(zhǎng),按照這個(gè)數(shù)量級(jí)去買(mǎi)商業(yè)數(shù)據(jù)庫(kù),那是天文數(shù)字。
游戲規(guī)則從2000年開(kāi)始改變。這時(shí)開(kāi)源文化在美國(guó)和歐洲正濃,工程師們開(kāi)始考慮一個(gè)新的問(wèn)題——數(shù)據(jù)庫(kù)軟件是否也可以走出一條開(kāi)源的路徑,于是MySQL、PostgreSQL等開(kāi)源數(shù)據(jù)庫(kù)逐漸誕生,并吸引了大量擁躉,正式終結(jié)了關(guān)系型數(shù)據(jù)庫(kù)只能用 Oracle、SQL Server這些收費(fèi)軟件的歷史。毫無(wú)疑問(wèn),對(duì)于很多對(duì)成本敏感的公司而言開(kāi)源數(shù)據(jù)庫(kù)成為替代商業(yè)數(shù)據(jù)庫(kù)的另一種選擇。
另一方面,數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景正在發(fā)生改變。由于移動(dòng)互聯(lián)、物聯(lián)網(wǎng)技術(shù)的發(fā)展,結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)爆發(fā)。海量數(shù)據(jù)瞬間涌來(lái),那些安裝在企業(yè)IT系統(tǒng)里的傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)早已不堪重負(fù),云被認(rèn)為是最好的解決方案。
在這一節(jié)點(diǎn),云廠商逐漸成為數(shù)據(jù)庫(kù)領(lǐng)域的主要玩家,他們擁有兩種選擇,其一是把傳統(tǒng)的數(shù)據(jù)庫(kù)以及開(kāi)源的數(shù)據(jù)庫(kù)搬到云上來(lái),給客戶(hù)以租用的方式提供服務(wù)。
這種方式在短期內(nèi)確實(shí)可以滿(mǎn)足用戶(hù)的需求,但單純地將現(xiàn)有數(shù)據(jù)庫(kù)產(chǎn)品移植到云上這條道路并不長(zhǎng)久,從最近開(kāi)源項(xiàng)目修改協(xié)議的趨勢(shì)可見(jiàn)一斑,Redis、MongoDB以及Kafka等都在修改協(xié)議,未來(lái)企業(yè)要在云上使用這些開(kāi)源數(shù)據(jù)庫(kù)難度必然增加。
隨著互聯(lián)網(wǎng)時(shí)代流量的劇增,企業(yè)對(duì)數(shù)據(jù)庫(kù)的要求也在不斷提升,完全為云打造的數(shù)據(jù)庫(kù)才能更好地滿(mǎn)足業(yè)務(wù)快速增長(zhǎng)的需求。于是,云廠商撕裂了傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)固若金湯的防線,將云原生數(shù)據(jù)庫(kù)帶入了IT行業(yè)。據(jù)Gartner預(yù)測(cè),到2023年,全球3/4的數(shù)據(jù)庫(kù)都會(huì)跑在云上。
2014年,AWS發(fā)布了業(yè)內(nèi)首個(gè)云原生的關(guān)系型數(shù)據(jù)庫(kù)Aurora;2017年9月,阿里云在國(guó)內(nèi)率先發(fā)布了自主研發(fā)的云原生數(shù)據(jù)庫(kù)PolarDB,并于2018年4月正式商用。
相比傳統(tǒng)數(shù)據(jù)庫(kù),云原生數(shù)據(jù)庫(kù)的優(yōu)勢(shì)如下:云原生數(shù)據(jù)庫(kù),天然擁有云計(jì)算的彈性能力,開(kāi)源數(shù)據(jù)庫(kù)的簡(jiǎn)潔易用和開(kāi)放生態(tài),以及傳統(tǒng)數(shù)據(jù)庫(kù)的SQL管理和處理性能等各方面的優(yōu)勢(shì),通過(guò)融合創(chuàng)新,換道超車(chē),在云環(huán)境下能夠?yàn)橛脩?hù)提供更好的數(shù)據(jù)庫(kù)服務(wù)。
舉例來(lái)說(shuō),企業(yè)搭建的傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)通常承載了ERP、CRM、OA等一系列系統(tǒng),而數(shù)據(jù)模型也是基于老系統(tǒng)開(kāi)發(fā),如果沒(méi)有與之兼容的云數(shù)據(jù)庫(kù),上云幾乎要重寫(xiě)代碼。
阿里云用云原生數(shù)據(jù)庫(kù)PolarDB破解了這一難題,相對(duì)于傳統(tǒng)的數(shù)據(jù)庫(kù),PolarDB實(shí)現(xiàn)了高性能、高容量兼具低成本特性,為互聯(lián)網(wǎng)海量數(shù)據(jù)以及超高并發(fā)場(chǎng)景而生,這些實(shí)實(shí)在在的好處,未來(lái)也需要通過(guò)更多客戶(hù)的采用,讓它的價(jià)值真正充分發(fā)揮出來(lái)。