Oracle最终会扼杀MySQL?(译)

2024-06-12 19:52

本文主要是介绍Oracle最终会扼杀MySQL?(译),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文网站:https://www.percona.com/blog/is-oracle-finally-killing-mysql/

作者:Peter Zaitsev

自从Oracle收购了MySQL后,很多人怀疑Oracle对开源MySQL的善意,这篇percona的文章深入分析了Oracle已经和将要对MySQL采取的措施,并预测了MySQL的未来。

在 15 年前,Oracle 收购了 Sun,并因此获得了 MySQL 的所有权。这导致了互联网上的很多关于 Oracle 会如何对待 MySQL 的讨论。有人认为 Oracle 会完全扼杀 MySQL,以减少对专有的 Oracle 的竞争;还有人认为 Oracle 会将 MySQL 作为开源项目扼杀,以便使收费的MySQL企业版(MySQL Enterprise)成为唯一的选择。这些谣言对于 MariaDB 和 PostgreSQL等竞争对手来说是一件好事,因此它们被广泛传播。

但实际上,Oracle最终成为MySQL的好管家。MySQL团队大部分时间都是独立工作,MySQL的老人Tomas Ulin基本上发号施令。MySQL变得更加稳定和安全,许多技术债务得到了修复,并添加了许多现代开发人员想要的功能,例如 JSON 支持和对高级 SQL 标准功能的支持。

虽然有MySQL的企业版,但它确实只专注于企业需要,而开发人员很少关心的功能,例如:可插拔身份验证、审计、防火墙等。虽然还有一个专有的GUI、监控和备份工具(例如MySQL Enterprise Monitor),但也有很多开源和专有的竞争对手,所以MySQL的企业版并没有造成很大的垄断。

在这段时间里,我经常发现自己在为Oracle辩护,许多人认为他们对MySQL很糟糕,原因很简单:因为他们就是Oracle。

我认为在这段时间里,Oracle一直在使用这个众所周知的开源成功公式:“转换永远不应该影响用户采用。”

然而,近年来,随着“MySQL Heatwave”(Oracle的MySQL云数据库)的推出,情况发生了变化。Heatwave 包含许多 MySQL Community 或 MySQL Enterprise 中没有的功能,例如加速分析查询和 Machine Learning等功能。

当涉及到“分析查询”时,这尤其成问题,因为MySQL没有并行查询的能力。在拥有数百个内核的 CPU 进入市场后,这些多内核并没有明显提高MySQL的速度。这个限制不仅表现在分析应用的查询,也适用于简单的“group by”查询。说明:MySQL 8 确实对 DDL 有一些并行化支持,但对查询没有。

这是不是为了让人们转而拥抱MySQL Heatwave?或者,干脆迁移到 PostgreSQL 或 Clickhouse?

矢量搜索是开源MySQL缺乏的另一个领域。目前其他所有主要的开源数据库都增加了对矢量搜索功能的支持,并且MariaDB正在研究它,而在MySQL生态系统中它只能在云版本MySQL Heatwave上使用。

然后也许是最奇怪的选择:只有MySQL Enterprise支持Javascript,开源MySQL的社区版上并不支持这个业界最流行的语言!我认为 MySQL 应该尽一切努力赢得 Javascript 开发人员的心,他们中的许多人已经更喜欢更简单的数据库,比如 MongoDB。

根据我的看法,所有这些特性都违背了前面提到的黄金法则,因为它们显然会降低用户对MySQL的采用率。无论从特定功能的角度来看,还是从担心这种看似政策变化对MySQL未来的影响的角度来看,这些特性都会对用户造成负面影响。

如果这还不够,MySQL似乎在性能工程部门遭受了多年的忽视,与MySQL 5.6相比,MySQL 8.0的性能显著降低(参见:结果出乎意料!MySQL和MariaDB谁快?MySQL 8.0比MySQL 5.6快吗?。您可以声称功能的增加带来性能的降低是正常现象,但MariaDB能够显著减少性能下降,PostgreSQL甚至在添加新功能的同时提高了性能。
在这里插入图片描述
我不了解 Oracle 管理团队内部的决策理由,我不能说这是无知还是恶意,但在过去几年中,这样的产品决策肯定不利于 MySQL 的被用户采用,因为 PostgreSQL 已经大步赢得了人心,并且根据 DB-Engines 的说法,已经显着缩小了与 MySQL 的被用户采用的差距。 并且已经是StackOverflow 开发者调查中最受欢迎的开源关系数据库。
无论如何,除非 Oracle 将注意力转向现代开发人员对关系数据库的需求,否则Oracle将扼杀MySQL,如果不是通过行动,那么就是通过不作为。

关于号主,姚远:

  • Oracle ACE(Oracle和MySQL数据库方向)
  • 华为云最有价值专家
  • 《MySQL 8.0运维与优化》的作者
  • 拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
  • 曾任IBM公司数据库部门经理
  • 20+年DBA经验,服务2万+客户
  • 精通C和Java,发明两项计算机专利

这篇关于Oracle最终会扼杀MySQL?(译)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055178

相关文章

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

mysql重置root密码的完整步骤(适用于5.7和8.0)

《mysql重置root密码的完整步骤(适用于5.7和8.0)》:本文主要介绍mysql重置root密码的完整步骤,文中描述了如何停止MySQL服务、以管理员身份打开命令行、替换配置文件路径、修改... 目录第一步:先停止mysql服务,一定要停止!方式一:通过命令行关闭mysql服务方式二:通过服务项关闭

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

mysql主从及遇到的问题解决

《mysql主从及遇到的问题解决》本文详细介绍了如何使用Docker配置MySQL主从复制,首先创建了两个文件夹并分别配置了`my.cnf`文件,通过执行脚本启动容器并配置好主从关系,文中还提到了一些... 目录mysql主从及遇到问题解决遇到的问题说明总结mysql主从及遇到问题解决1.基于mysql

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.