前段时间,笔者采访了多家企业的技术人员,发现目前国内的科技公司几乎都在使用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站在数据库领域的顶峰,笑傲江湖。