当前位置: 首页 > 科技观察

MySQL怎么了?

时间:2023-03-19 16:55:20 科技观察

作者|赵云审稿人|QianShan这几年,大家可能都有这样的感受:与编程语言市场不同,数据库市场的竞争异常激烈——一线数据库停滞不前甚至下滑,二线数据库反超。种种迹象表明:MySQL这个热门榜单上的老大哥,正逐渐淡出专业开发者的视野。再见MySQL,也许不再只是一个哗众取宠的梗!8月,在StackOverflow发布的2022年开发者调查报告中,有这样一组数字:在专业开发者的热门榜单中,PostgreSQL(46.48%)首次超越MySQL(45.68%)占据第一。专业开发者和初学者的区别在于,他们更倾向于选择Redis、PostgreSQL、MicrosoftSQLServer和Elasticsearch。初学者中,MySQL不容乐观,其次是MongoDB,占比接近1/3。“这是有道理的,因为它支持大量的语言和应用开发平台。”值得一提的是,正在使用MySQL的开发人员也在考虑、想要或想要使用其他数据库。下图显示了调查结果。资料来源:StackOverflow有11,185名想要使用PostgreSQL的MySQL开发人员,以及9,520名想要使用MongoDB的MySQL开发人员。不仅是StackOverflow的报告,根据最新的10月DB-Engines流行趋势,也可以看出MySQL的流行度已经连续几年呈现下降趋势。Source:DB-Engines可以判断,不出意外的话,同属于开源关系型数据库的PostgreSQL超越MySQL只是时间问题。1、MySQL作为“王者”停滞不前,MySQL的荣耀王冠是在互联网大爆发的时代加冕的。在过去的20年里,规模和效率一直是互联网扩张的不言而喻的“本质”。经过开发迭代,数据库只是简单的作为存储,计算任务交给业务服务器。这种逻辑部署实现起来比较方便。企业和工程师都认可了“Linux+Apache+MySQL+PHP”,“LAMP”自然成为了互联网发展的标杆模式。那个时候刚刚诞生的MySQL,对于“极简”互联网的简洁风格来说,恰逢其时。虽然在功能上,MySQL不如其他数据库占据优势,但由于其并没有提供很多高级功能,所以简单易用、开源免费的MySQL获得了包括腾讯、阿里巴巴在内的国内互联网公司的关注,后来成为巨人。成为早期互联网OLTP领域的事实标准。相比之下,一直走“学术”路线的PostgreSQL一直不温不火。2009年,MySQL迎来了命运的转折点。甲骨文转向刚刚收购了MySQL的SUN。面对MySQL的崛起,甲骨文不得不说,此举意在采取收购策略,守住甲骨文这个大型商业数据库的护城河。随后,甲骨文开始了涨价套路:大幅提高MySQL商业版的价格。和使用免费版MySQL的开发者一样,MySQL的创始人Monty也为它的未来担忧,他义愤填膺,但又无能为力。即使过了十几年,Monty仍然关心这件事,而MariaDB就是最好的证明。回过头来看,MySQL的兴起和流行,离不开时代的脉络。正如Monty所说:MySQL的成功与时代背景密不可分。那时候互联网已经被广泛认可,大家都需要这样一个数据库,并用它来创建互联网需要的数据。当时科技巨头对互联网持观望态度,因此这是一个待开发的蓝海市场。2、停滞的背后当蓝海变红,为互联网而生的MySQL似乎迎来了停滞的时刻。虽然热度并未减弱,但与当代关系型数据库竞争者PostgreSQL逆势而上的热度相比,难免不堪一击。细细研究,大概有以下几个原因:第一,被收购后,MySQL开源的精神内核大大减少。沦为后天的“后儿子”,难免沦为边缘角色。据Monty回忆,“当Oracle宣布收购Sun和MySQL时,我不相信他们真的会发现MySQL的宝贵遗产,所以很多优秀的程序员决定和我们一起离开,继续MySQL的精神。”,因为MySQL加入甲骨文的优秀员工也没有得到足够的资源和重视。去年12月,甲骨文公司前首席软件工程师、MySQL优化器团队成员SteinarGunderson辞职。他放弃了MySQL,他为此付出了五年的努力:“你能做的只有这么多。我和团队其他成员所做的更改使MySQL优化器朝着2000年代初期设计的方向发展,并进行了一些不错的调整,但仅此而已。“无论公司如何吹嘘,Gunderson都无法相信MySQL会成为一个有竞争力的产品。或许对于甲骨文MySQL优化团队的成员来说,缺乏想象空间是一种无法言喻的痛苦。当然,甲骨文也有MySQL耗费了精力,但像微软的甲骨文云这样零零碎碎的“运营”,在线分析处理能力,远不是真正的开源数据库贡献者的理想。总之甲骨文收购MySQL可能不会停止对其的研发,它已经大大挫伤了开发社区的积极性,其次,数据库开发的大环境已经发生了变化,MySQL的高光窗口期可能真的会迎来收官之作,前面说了,MySQL是新的各大网站和移动端的开发也到了一个不可逾越的节点,现在我们看到行业的发展开始向金融、电信等传统行业倾斜ications,物联网,零售和制造。与以往的互联网相比,它更注重数据的可靠性、安全性和标准化。这些都不是MySQL擅长的。还有一点,自疫情以来,企业基础设施的现代化需求加速提上日程,旨在让企业更加灵活,应对快速变化的客户需求。承接这些项目的全球系统集成商往往选择应用最容易部署的技术,从而为他们的服务带来最好的利润,而这显然不是MySQL,原因很简单。MySQL需要付费,而MySQL对多语言的支持显然有其自身的瓶颈。最后,竞品众多,关系型数据库市场也在发生重大变化。2014年以来,PostgreSQL迎来了复兴的时刻。技术分析人员可以将原因归结为四点:丰富的功能集、易于扩展、开源以及更好的开源许可。最后一点在我看来非常重要。更好的开源许可证,其背后的意义重大。开源合作规模越大,大家受益越多。这也是开源精神的核心。PostgreSQL采用类似MIT的许可协议,允许开发者做任何事情,包括在开源或闭源产品中的商业用途,而MySQL客户端遵循GPL许可协议,开发者必须向Oracle付费或开源他们的应用程序。从这个角度来说,无论是商用还是其他用途,PostgreSQL都是最有利的选择。3.走学术路线的PostgreSQL,要等到下一个突破到来时,才会更加流行。不过,在此之前,PostgreSQL的二次崛起只是时间问题。PostgreSQL在MySQL发布后不到14个月就诞生了。它是由PostgreSQL全球开发组开发的高级开源RDBMS。它最初于1996年7月8日发布,并于1986年作为POSTGRES项目的一部分在加州大学伯克利分校启动。PostgreSQL在诞生之初就被开发者视为“严谨的设计理念”的“学院派”。用现在流行的说法:MySQL是解决某个业务问题的互联网野法,而PostgreSQL是“以一打十”的“全栈数据库”。PostgreSQL天生就是一个超集成系统,成熟、精心设计、专业和包容的社区,PostgreSQL非常自信地标榜自己是“世界上最先进的开源关系型数据库”,数据分析、时序插件、全-文本搜索、架构和功能等方面的一切。此前,我们从开源热度、行业发展、商业使用等角度分析了MySQL停滞不前的原因。这里我们从开发者的角度列举了PostgreSQL的一些好处:它支持多种可用于商业解决方案的性能优化,包括地理空间数据支持、读取无锁并发等,广泛应用于大型系统;对查询系统最有利;在商业智能应用中表现出色,更适合需要快速读写速度的数据分析和数据仓库应用,因此也适用于OLTP/OLAP系统;可以在单个产品中存储结构化和非结构化数据类型,它支持大多数数据类型,例如支持JSON。多年来PostgreSQL最大的创新之一是在其PostgreSQL9.2中引入的生成JSON数据的能力。强大的功能可能不是受欢迎的原因。但开发人员的偏好确实发生了变化。例如,专注于软件开发人员的行业分析公司Redmonk的分析师JamesGovernor提到“开发人员目前正在遭受NoSQL和大数据疲劳”。因此,开发人员开始使用久经考验的PostgreSQL作为MongoDB和ApacheCassandra。一些关键工作负载的可行替代方案。此外,云计算公司Joyent的解决方案工程总监ElijahZupancic也提到了文档的重要性,“PostgreSQL也得到了开发者的认可,从他们的角度来看,使用它是一种乐趣,它的文档也很精彩。数据类型反映了开发人员所做的工作类型。”PostgreSQL不依赖于任何单一供应商。单个商业供应商永远无法跟上开源项目在文档更新等级别上可以提供的变化速度。4.简单易压倒一切。回顾MySQL的发展历程,它因互联网而生,也成就了互联网。在那些日子里,“简单”和“容易”就是一切。技术日新月异,但这背后的逻辑在今天仍然适用。PostgreSQL可能不是最好的选择,但对于业务决策者来说,却是最方便、最轻松的选择。对于那些习惯于关系数据库的企业内部人员来说,PostgreSQL是管理人员想要放弃昂贵的商业数据库的“简单按钮”。正如EDB首席执行官EdBoyajian提到的,大多数公司不想提升和改变,但他们正在使用PostgreSQL作为他们的新领域,因为他们已经拥有使用Oracle、SQLServer和DB2数十年积累的内部SQL/关系技能。5.再见,MySQL!毕竟,MySQL因为其易用性,完成了建设互联网的使命;而随着新企业发展的命题:传统行业的数字化转型,这其中包括“升级基础设施”、“上云”、“上物联网”等几个子命题,MySQL的劣势凸显,这不是MySQL可以轻松处理的领域。无论你是集成商还是开发者,选择更成熟、严谨、设计良好、更容易成功的PostgreSQL都不难理解。资料来源:StackOverflow在过去的20年里,MySQL已经成为构建互联网的基石之一。有无数的开发者日以继夜地工作,我们赋予它应有的荣耀。今天,开发者不得不正视MySQL的问题:它已经过了体验的巅峰,却面临着停滞甚至衰退的感觉。数据库的未来是什么?更稳定,更动态。蒙蒂如是说。展望未来,面对新的稳定和动态的需求,企业和开发者不得不拥抱未来,总有一天,他们不得不喊出那句曾经有点戏谑,现在却有种“预言”味道的叹息——再见,MySQL!参考链接:https://www.infoworld.com/article/3677629/postgres-is-eating-relational.htmlhttps://www.zhihu.com/question/20010554/answer/2280773945https://www.36kr.com/p/1957205193170048https://www.zhihu.com/question/31955622/answer/1625152059https://baijiahao.baidu.com/s?id=1738296451765471179

猜你喜欢