NoSQL來勢洶洶,為何MySQL地位仍不動搖?
前段時間,筆者采訪了多家企業(yè)的技術(shù)人員,發(fā)現(xiàn)目前國內(nèi)的科技公司幾乎都在使用MySQL。按理說,在NoSQL的關(guān)系型數(shù)據(jù)庫死亡名單上,MySQL早應(yīng)該優(yōu)雅的退出來,或者是像IBM DB2狼狽退出。而現(xiàn)在,MySQL混得風(fēng)生水起,盡管比Oracle的時間少了近二十年,但是其在市場上的受歡迎程度與Oracle旗鼓相當,且Oracle的歡迎度一直在走下坡路,而MySQL則相對穩(wěn)定。到底是什么原因讓MySQL穩(wěn)坐霸主地位不動搖呢?下面我們就來剝絲抽繭看看原因。
雖然MySQL和Oracle在內(nèi)行人看來都是不是盡善盡美的,但是根據(jù)DB-Engines的調(diào)查,MySQL的受歡迎程度僅次于Oracle,而且二者差距非常小。
下圖是Oracle、MySQL和SQL Server三者的受歡迎程度,我們可以看出只有MySQL保持著上升的趨勢。
雖然我們看到MySQL的搜索熱度正在下降,但是與此同時Oracle和SQL Server的熱度也在下降,而由Stack Overflow調(diào)查的專業(yè)熱度,MySQL保持相對穩(wěn)定,而且與其它數(shù)據(jù)庫相比占據(jù)絕對優(yōu)勢。
NoSQL在現(xiàn)代企業(yè)中煥發(fā)了勃勃生機,因為企業(yè)都在努力管理數(shù)據(jù)的數(shù)量、速度和多樣性。但是,讓人意外的是,MySQL并沒有按照NoSQL的劇本走下去,不僅幸存下來,還茁壯成長。
MongoDB是NoSQL中成績亮眼的一員,截止到現(xiàn)在,MongoDB今年的收入可能已超1億美元,今年極其有可能IPO。
然而MongoDB并沒有推翻MySQL,當然Apache Cassandra和Apache Hadoop也沒有做到。MySQLq前運營商Zack Urlocker曾表示:“MongoDB,Cassandra和Hadoop都有各自的專門用例,這些用例足以讓它們支持一些收益不錯的企業(yè)用例,但是做不到像關(guān)系型數(shù)據(jù)庫那樣普遍。當然還有一部分原因是在于目前大數(shù)據(jù)的性質(zhì),本質(zhì)上來講現(xiàn)在的大數(shù)據(jù)還是事務(wù)性的,所以非常適合RDBMS。
當然MySQL受歡迎的核心還是在于它本身就是一款非常好的數(shù)據(jù)庫,適合最廣泛的數(shù)據(jù)庫專業(yè)人員的技能。Oracle、DB2、SQL Server技術(shù)人員學(xué)習(xí)到的技能在MySQL中也能應(yīng)用。
實際上,對于MySQL以及所有關(guān)系型數(shù)據(jù)庫的正確說法應(yīng)該是擴張而不是出局。Linux基金會執(zhí)行長克里斯Aniszczyk也肯定了這一說法,雖然這可能需要從架構(gòu)的弱點來入手,但是像谷歌和Facebook這樣巨頭公司的工程師卻對此充滿了熱情和信心。MySQL作為關(guān)系型數(shù)據(jù)庫的典型代表,Pivotal副總裁 James Bayer 對此給予了充分的信任,認為MySQL對于嚴苛的工作負載來說會是很好的選擇。
當然,這并不是說MySQL在Scale方面是最大贏家。正如Compose.io開發(fā)商DJ Walker-Morgan所說:“NoSQL負責(zé)縮放,像我們的生活一樣,有時會大吃一頓,有時卻要節(jié)食減肥,所以只有嚴格的紀律和謹慎的管理才能適用。”其次,擁有足夠多的用例,開發(fā)人員才有動力嘗試,社區(qū)對于DBA來說也是很大的影響因素。Server Density CEO David Mytton 強調(diào):我們都想要RDS這樣的服務(wù),Aurora解決了MySQL的很多痛點。
這也就是為什么MySQL在面世21年后(1996年MySQL 1.0發(fā)布)成為地球上最受歡迎的數(shù)據(jù)庫。它沒有像Oracle一樣貼上“企業(yè)級”的標簽,也沒有像NoSQL以“定制化”為標簽來進行營銷,但它就是成為了現(xiàn)代開發(fā)者的首選數(shù)據(jù)庫。
“免費”、“強大”、“成熟”,這三點就足以使得MySQL站在數(shù)據(jù)庫領(lǐng)域的頂峰,笑傲江湖。