之前写过几篇关于MySQL的文章,问MySQL的问题的人一直不少,可最近
问第四类问题的人多起来了,这些人来问的问题我给归一下类
1 MySQL的日常问题
2 MySQL的安装问题
3 MySQL的报错问题
4 替换MYSQL的问题
对没有看错,替换MySQL的问题,这个事情如果放到5年前,大部分人一定会认为我疯了,MySQL如日中天,只有他替换ORACLE ,SQLSERVER的话题,哪里有谁要替换他,可谓是数据库业界的小霸王。掌握MySQL的老师们也是各种会议和讲座,培训拿到手软。
作为一个从MySQL5.0开始使用MySQL经历了MySQL从使用者被嘲笑,到MySQL的使用者嘲笑其他数据库,再到数据库业界神一样的MySQL崛起, 最终我看到了MySQL的下坡路,且后面会越来越快。
2025数据库“新闻”,第四条坐实了开源PG属于谁? 开源MySQL低迷原因在哪?
ORACLE 最终会把 MySQL 弄死对吗?原因是什么! (译)
PolarDB 并行黑科技--从百套MySQL撤下说起 (感谢8018个粉丝的支持)
MySQL 8.0x 到 9.0均可能崩溃--云厂商开发指责 MYSQL不测试就推新版本?
原因我之前分析过,这里大部分原因要怪ORACLE,怪ORACLE的战略转变,从Oracle要上云上发展开始,MySQL就注定是一个“杯具”。
从产品经理的角度看,MySQL是一个彻头彻尾阻碍Oracle上云的绊脚石,ORACLE数据库本身基本上不会上云,他的市场还是在线下,
而MySQL开源的客户群确实是一群最应该上云的群体。
1 MySQL数据库存储数据的体量不大,功能简单
2 MySQL的数据库群体大多是小型企业,或互联网企业。
(关键在这里,小型企业是云潜在的客户,大型互联网也可能是更好的云数据库的客户)
3 MySQL不是一个纯种的ORACLE的产品,是购买回来的产品,进行二次后续开发的“继子”。
这三点凑起来,不让MySQL往云上发展,就太可惜了,所以ORACLE 搞出了MYSQL HEATWAVE,开源的MySQL产品成为众矢之的,
前有阿里云吐槽MySQL官方根本不做一些简单的测试就发布MySQL新版本,后有各种MySQL专家吐槽,且发现MySQL好几个版本的“丢数的问题”。
国外指望不上,而国内MySQL也不行了,各大互联网企业虽然并没有说MySQL的不好,但各种其他的数据库TIDB ,OCEANBASE,作为头号互联网替换MySQL的神器。如同一个互联网企业的数据库的某位负责人提到。
“我们应该削减MySQL,太浪费的硬件资源,太多的MySQL导致太多的DBA人力成本。”替换后,数据库总体的数量降低了,由此产生的各种管理成本,人力成本都降下来了。
是的从单机成本,MySQL应该是最高的,数据撑不了多少,拿着主机的数量凑数的虚假繁荣的日子该到头了。
互联网在收缩,经济不如以前了,MySQL数据库在繁荣的经济倒台后风光不见,同时互联网企业也不愿意受到ORACLE的威胁,纷纷开始做着各种手段脱离MySQL,可能是信息的滞后,一些小型企业还在往MySQL身上扎的时候,曾经他们的那些“模仿的对象”已经开始脱离MySQL。
深层次分析这些原因,我们可以将其分为外部原因和内部原因
1 内部原因
主要是MySQL最近几年的发展后劲不足的问题,在大多数数据库都可以承载更多的数据,并能稳定运行的基础上,MySQL在这方面一直没有突破,很明显的一点就是数据文件,一个表一个文件的模式从物理上就限制了MySQL的单表不能太大,这还没有从B+TREE 的层面分析。
另一个非常让人懊恼的就是SQL处理无法使用并行的问题,在当下硬件CPU水平单机较高的情况下,这的确是浪费硬件资源的原罪,尤其一些多表连接,大表查询,从到尾都是一个CPU在进行工作,这的确不是一个正常的数据库所为。如果说性能差这个事情可以忍,那么我们看第二点
2 在复杂数据模型的支持不足
,在互联网中MySQL一直是作为数据容器存在的模式来服务互联网,这也就造成了我们早期的普通企业无法使用MySQL,一些DBA还在说是ORACLE, SQL SERVER这类数据库惯坏了开发人员,数据库功能太多不好,如MySQL一样,只有数据的基本存储需求,其他一概不能满足,到是一个高级的使用方式,而随着互联网的普及化,现在我们的认知又回到了原来,一个数据库的功能应该更多,所以现在我们又提出新融合的数据库产品。
在这样的风潮下,MySQL可谓是水落后,谁没穿衣服的代表,一众览去,只有MySQL衣衫不整,之前我们还可以说商业数据库应该有这样的功能,MySQL是开源数据库,可现在有了PG,这个故事我也编不下了。
3 核心问题,
上面的文字可以看出ORACLE是铁了心,不愿意让MySQL作为自己客户上云的绊脚石,ORACLE数据库本身的主抓云下,大型客户,传统客户,MYSQL HEATWAVE主抓云上,辅助POSTGRESQL在ORACLE的云上进行数据库门类的丰富,
显然这个MYSQL开源就是眼中钉,一无是处。所以按照ORACLE一贯的风格,雪藏或者让他在无声无息中弱化他的稳定性,性能,以及口碑才是最好让客户上云的方案,实际上他们也是这么做的。
4 新型的数据库产品
大量上市,TIDB ,OCEANBASE 等分布式数据库,PG开源数据库,云上的国内的 POLARBD, TDSQL,那个不比MySQL强百倍,这些产品数据扩展能力强,HTAP,多线程,并行SQL,甚至在 POLARDB 和 OCEANBASE上已经具备的 REDIS的功能,让这个MySQL出现在数据库市场上,成为一个不和谐的音符。
注:上图,这是OB开源的负责人纪老师昨天刚在我文章下面的留言,OB马上要有单机版了。
5 在高阶的ISOLATION下
,RR模式的性能非常的差,具体原因可以参见丁奇,丁老师的极客时间中的一部分内容,针对GAP LOCK的在RR上的实现原理。
6
如果要有第六条的话,我偶然见得,开发人员一部分开始觉醒了,这是一个开发人员的公众号,影响面比DB人员的公众号要广泛的多,开发人员占比要大大多于DBA,这一篇帖子6000多阅读量。
最后当开发人员要求你更换MySQL 到PG,然后DBA说不会,那么好的,你就下岗了。
综上所述,从产品的角度,ORACLE对MYSQL 开源产品做的这一切,都非常的合理,MySQL开源产品的受害者第一个就是 MySQL Enterprise 企业版,然后是MySQL Heatwave Oracle Cloud战略的重要组成部分, 在往上还有Oracle本家的数据库Oracle。所以让全世界白嫖的MySQL数据库的格局必须被改变,必须被雪藏必须被 慢慢的Killed,这是Oracle的人性使然。