为什么 MySQL 好像不太受欢迎了?

John Doe 十一月 29, 2023

这几年,感觉 MySQL 没有以前那么受欢迎了,以前那些 KOL、ACE 们,也都很少听到什么声音了。一直以来 MySQL 的主场都是在互联网行业,这个行业,这些年有发生什么大的变化吗?是哪些变化影响了 MySQL 的流行度呢?

scenery

个人认为,主要的影响因素可能有三点:

互联网行业发展开始遇到瓶颈

互联网从 90 年代开始,到现在快 30 年了,基本上大大小小的主流业务,都已经拓展得差不多了。任何行业都会存在发展的瓶颈,当发展遇到瓶颈后,行业内数据库市场就变成了一个存量市场。首先开发人员的需求就会减少。而且这个行业的开发人员,能力和经验的同质化严重,所以 MySQL 的应用开发者减少了。

互联网行业数据库普遍已上公有云

公有云最受欢迎的行业就是互联网,其中以游戏行业最为突出。当 MySQL 数据库都被托管到公有云上以后,自然就降低了数据库管理员的需求。而公有云内部因为对数据库进行了自动化的标准管理,也不需要多少数据库管理员。

一款数据库产品主要就两类用户:应用开发者和数据库管理员。当两类用户数都出现下降以后,自然就不受欢迎了。这样下去,以后 MySQL 恐怕再难宣称是“The world’s most popular”了。

版本发布策略发生调整

MySQL 的版本发布策略,在不知不觉中发生了很大的变化。以前的 MySQL 社区版采用了更像是企业版的发布策略,小版本仅用于修复 bug,大版本用于发布新特性,且发布周期长达 5 年。进入 MySQL 8.0 后,它的发布策略开始成了真正的社区版了,小版本也会发布新特性,也开始放松对版本的向后兼容性控制,其中 SQL 引擎的重大调整就很能反映这种变化。

调整版本发布策略的背后原因,估计可能是甲骨文发现,MySQL 企业版在市场上获得的收入不高,反而各大公有云厂商的 RDS 服务获得的市场份额越来越大,这显然是一个非常尴尬的处境。通过将社区版的发布策略进行调整,让下游云厂商不容易跟随主线分支同步发展,比如让云厂商的竞争力特性和主线分支新特性发生冲突,云厂商 RDS 版本无法保证向后兼容性,从而对云厂商的 RDS 用户造成困扰,让用户回流到支持官方主线分支的甲骨文自有产品和云服务上面。

这种产品发布策略的变化,跟 CentOS 的策略调整极其类似。之前 CentOS 的产品发布策略,就是企业版本的发布策略。也是为了应对云厂商造成的冲击,红帽将 CentOS 企业版调整成了 CentOS Stream,同样变成了典型的社区版发布策略。在调整以后,很多周边软件就紧接着调整了对 CentOS 的发布支持。可以预见,后面 CentOS 的用户数必然会出现断崖式下降。