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