7月1号Oracle低调发布了新一代MySQL产品 – MySQL 9.0。官方release文档中记录的主要新特性包括:
- 字符集上的支持;
- 支持在MySQL中进行相关事件的预处理,提高了查询性能和安全性;
- 数据字典全部采用InnoDB引擎,支持DDL原子性,具备Crash-Safe能力;
- 支持并行Redo Log提升IO性能,允许在线调整Redo Log Buffer大小;
- 新增事务CATS特性,大大提升事务性能;
- 增强JOIN性能和功能;
- 新增直方图以及其他统计信息,有助于数据库性能;
- 比较亮眼的是,新增了向量数据类型,能够实现字符串和向量数据类型之间的相互转换。
此外还新增了100多个Bug的修复,并移除了部分特性。
9.0是计20年8.0以来新发布的新一代创新版本,创新版本主要是推出新的功能特性,但是从其少的可怜的新特性来看,还是比较另外失望的,甚至赶不上隔壁PG一个季度补丁的新特性多。
更严重的这个版本还被发现存在严重的Bug,当创建表的数量超过10000后,重启实例失败。以至于著名的MySQL第三方发行商Pocona建议客户不要升级到9.0,以及和本次同时发布的8.0.37版本。
7月23号MySQL紧急发布9.0.1,发布针对这个Bug的补丁,修复这个令人尴尬的问题。
MySQL的流行得益于互联网行业的兴起,产品开源免费开箱即用,非常适合刚开始创业的小互联网公司,MySQL就是这样和他们一起成长起来的。2009年Oracle收购了Sun,MySQL也归属到数据库霸主Oracle的麾下,因为Oracle有自己的商业数据库,业界一度担心Oracle之所以收购MySQL,就是为了扼杀它。为此MySQL创始人Monty也辞职自立门户,创建了新的分支MariaDB。
说句公道话,被收购之后MySQL还是获得了很大的提升,尤其是8.0之后InnoDB引擎成为默认选项,使得MySQL更加成为很多小型企业的首选。
但不可否认的是,从DB Engine上给出的流行度排名逐渐被PG所赶超。
个人认为存在主要是几方面的原因:
- 很多和MySQL一起成长起来的互联网公司,已经成长为巨头,国内如阿里云、国外亚马逊等,在这个过程中这些巨头也逐步发展为云科技公司,他们开发了基于MySQL等一系列开源的产品,对外输出自己的技术。但是他们已经不再认为自己是MySQL了;
- 业界对Oracle收购MySQL的戒心始终没有消除,同时MySQL还有自己的企业版,有些谨慎的客户已经提前将MySQL迁移到其他数据库。再加上近两年MySQL在其云上数仓产品Heatwave持续发力,以至于核心MySQL上的专注度有所下降,产品有些增长乏力,从本次MySQL 9.0上也能看出一些端倪;
- 由于更加开放的开源协议,便捷的扩展功能以及良好的Oracle兼容能力,使得PG在这些年获得非常好的发展机会。相对而言,MySQL的发展则比较平淡。
Oracle在拥有世界上最好的商业数据库的同时,又拥有世界上最流行的开源数据库。同时坐拥最好的商业和开源数据库,Oracle大概在决策时也难免两难,既不能因为开源影响自己商业数据库的发展,但又不能在开源行业中掉队,幸福的烦恼大概就是如此吧!