還記得幾個(gè)月前,甲骨文為Java舉行了隆重的20周年慶典,但對(duì)另外一個(gè)20歲的明星產(chǎn)品MySQL卻沒(méi)什么動(dòng)作。從這一點(diǎn)我們就能看出這兩個(gè)產(chǎn)品在甲骨文公司內(nèi)部的地位究竟如何:一個(gè)是平臺(tái)層的戰(zhàn)略重點(diǎn),而另一個(gè)則是在Oracle數(shù)據(jù)庫(kù)陰影下的“尷尬”存在。
MySQL剛剛誕生的時(shí)候,人們都把它看做是“玩具”數(shù)據(jù)庫(kù),它主要用于簡(jiǎn)單的Web應(yīng)用和培訓(xùn),但免費(fèi)和易用的特點(diǎn)讓MySQL之后大為流行。雖然是開源數(shù)據(jù)庫(kù),但MySQL在進(jìn)入2000年之后已經(jīng)成長(zhǎng)為了一個(gè)非常健壯的關(guān)系型數(shù)據(jù)庫(kù)。有許多IT部門開始使用MySQL,越來(lái)越多的網(wǎng)站也都用MySQL替換掉了Oracle數(shù)據(jù)庫(kù),其中不乏雅虎等互聯(lián)網(wǎng)巨頭。
在2001年,作為MySQL數(shù)據(jù)庫(kù)的主體公司MySQL AB已經(jīng)擁有超過(guò)200萬(wàn)的安裝基礎(chǔ),收入更是到達(dá)了600萬(wàn)美元。隨著互聯(lián)網(wǎng)浪潮的到來(lái),許多創(chuàng)業(yè)公司意識(shí)到他們需要一款性價(jià)比更高的數(shù)據(jù)庫(kù)產(chǎn)品,MySQL也隨之成為當(dāng)時(shí)第二(第一仍然是Oracle)流行的關(guān)系型數(shù)據(jù)庫(kù)。2008年,SUN公司收購(gòu)了MySQLAB,隨后一年甲骨文又收購(gòu)了SUN,MySQL自然也落到了甲骨文的帳下,并得到了持續(xù)研發(fā)的承諾。
回顧MySQL數(shù)據(jù)庫(kù)的發(fā)展歷史,有兩項(xiàng)技術(shù)起到了關(guān)鍵作用。首先就是InnoDB存儲(chǔ)引擎,它提供了符合標(biāo)準(zhǔn)化ACID的事務(wù)處理能力。可以說(shuō)它是MySQL爆發(fā)式發(fā)展的一個(gè)關(guān)鍵技術(shù)。
第二個(gè)是MySQL集群,它提供了shared-nothing的集群功能和自動(dòng)分片能力,使得高可用性和低延遲的I/O以及線性擴(kuò)展成為可能。也正是由于這兩項(xiàng)經(jīng)典技術(shù),使得MySQL獲得了諸如金融、電信等大公司的青睞。
如今,MySQL已經(jīng)成為了最主流的數(shù)據(jù)庫(kù)產(chǎn)品,新的版本更加關(guān)注企業(yè)級(jí)的應(yīng)用,比如對(duì)安全性、擴(kuò)展性和性能的改進(jìn)。甲骨文對(duì)MySQL的開發(fā)提供了持續(xù)支持,盡管在營(yíng)銷宣傳方面投入甚少,但Google和Facebook這樣的互聯(lián)網(wǎng)巨頭都已經(jīng)成為MySQL的重度用戶。
在我們每月更新的數(shù)據(jù)庫(kù)流行度排行榜中,MySQL僅次于Oracle排名第二。而在市場(chǎng)收入方面,2014年開源數(shù)據(jù)庫(kù)市場(chǎng)增長(zhǎng)了31%,MySQL份額更是領(lǐng)先整個(gè)開源數(shù)據(jù)庫(kù)市場(chǎng)。
在MySQL生態(tài)系統(tǒng)中,最重要的一環(huán)莫過(guò)于MySQL社區(qū)。MySQL擁有諸多的擁躉,其用戶基礎(chǔ)之大讓許多開源軟件提供商都不容忽視。有許多MySQL的衍生功能都源自于社區(qū),比如針對(duì)大數(shù)據(jù)分析的Hadoop和NoSQL支持等。
當(dāng)一項(xiàng)技術(shù)存在一定時(shí)間之后,人們就開始習(xí)慣預(yù)測(cè)它未來(lái)的走勢(shì)。特別是像MySQL這樣的開源技術(shù),在被甲骨文收購(gòu)之后,被放棄的傳聞就從未停息過(guò)。在我看來(lái),MySQL至少還會(huì)存在20年,因?yàn)閿?shù)據(jù)庫(kù)作為最底層的架構(gòu)如果足夠成熟,那么它就很難被替換掉。而我們應(yīng)該關(guān)注的問(wèn)題,是MySQL能支撐多少新型的應(yīng)用。可以肯定的是,20年后的MySQL會(huì)和現(xiàn)在有許多不同,它將逐漸演化并適應(yīng)新的數(shù)據(jù)挑戰(zhàn)。