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数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方