您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

MySQL5.7 EOL后,国内免费数据库替代方案

时间:2023-09-21 11:45:48  来源:IT168企业级  作者:

摘要:EOL,即生命周期结束(End of Life)。根据Oracle官方信息,到了2023年10月,MySQL 5.7将迎来其生命周期的终结,也就是俗称的“停服”。这意味着该版本将不再获得更新或安全补丁,同时也意味着各个行业使用MySQL 5.7数据库的业务系统将面临多种潜在风险……

MySQL 5.7 停服的潜在风险

在DB-Engines流行度排名中,MySQL已连续数年位于流行度前两位。在关系型数据库中,MySQL也有着较高的市场份额。根据2022年Slintel网站的统计数据,在全球关系型数据库市场中,MySQL市场份额最高,达到43.04%,排名第二的Oracle仅为16.76%。MySQL市场份额几乎占据关系型数据库市场半壁江山,已经成为事实上全球范围内影响最广泛的开源数据库。

而在中国,MySQL的应用比例也相当高根据Shadowserver Foundation在2022年发布的MySQL扫描报告,全球目前共有360万个MySQL实例,其中中国MySQL实例数占比为15.8%,仅次于美国的32.5%。

因此,MySQL 5.7的停服影响是巨大的,可能导致多种潜在风险,这些风险包括但不限于以下几个方面:

安全漏洞和漏洞未修复:停服后,MySQL 5.7容易受到新的安全漏洞和攻击的威胁,这可能导致未经授权的访问、数据泄露、数据破坏或拒绝服务攻击等安全问题,对企业的数据安全构成潜在威胁。

合规性问题:对于需要遵守特定行业法规或数据隐私法规的企业,继续运行不再受支持的MySQL 5.7版本可能会引发合规性问题。未修复的漏洞和安全风险可能导致法律和监管问题,对企业的声誉构成风险,同时也可能面临法律诉讼和知识产权风险。

性能和稳定性问题:随着硬件和操作系统的更新,MySQL 5.7可能会遇到性能和稳定性问题。新硬件或操作系统的特性和优化可能不再与MySQL 5.7兼容,从而导致业务系统整体性能下降或系统不稳定,进而影响业务连续性。

缺乏新功能和改进:停服后,MySQL 5.7将不再接收新功能和改进。这意味着用户将错过在新版本中引入的性能优化、新的SQL特性、可扩展性改进和其他增强功能,可能限制了业务创新和竞争力。

维护和支持问题:停服后,用户将不再获得来自MySQL官方的技术支持。这可能导致数据库管理员在面临问题时缺乏官方支持和解决方案,增加了故障排除和维护的难度,延长了系统恢复时间。

生态系统的逐渐衰退:随着时间的推移,MySQL 5.7的生态系统,包括第三方工具、库和插件,可能会逐渐减少支持或停止更新,这将影响数据库的可用性和生产力。

数据库技能的短缺:随着MySQL 5.7逐渐退出市场,数据库管理员和开发人员对其进行维护和开发的技能可能变得过时。这可能导致人员技能的不足和难以招聘的问题,增加了人力成本和培训需求。

鉴于以上主要风险,企业需要采取措施来降低这些潜在风险,以确保数据安全、合规性和业务的持续性。

迁移到国内的MySQL开源分支

根据我的观察,大多数MySQL用户企业对MySQL 5.7的“停服”事件都已经有所了解,并已经制定了应对策略。这些策略主要分为以下四种:

1、躺平,继续使用MySQL5.7

2、迁移到受支持版本,比如MySQL8.0

3、迁移到国内的开源数据库

4、迁移到国产商业数据库

其实还有第五种,即迁移到其他主流MySQL分支(如Percona、MariaDB),但这个选项在当下国产替代的浪潮下,大多数企业中似乎已经选择忽略,因此在此不做详细介绍。(另外,尽管数据库产品本身没有政治立场,但背后的公司可能有政治立场。Percona和MariaDB都公开表示支持乌克兰,这与西方价值观一致,但这里不深入讨论政治议题。)

对于上述四种方案,保持现状和升级到MySQL 8.0似乎不需要过多讨论,因为升级到MySQL 8.0是相对较简单的选择,有很多教程可供参考。但即使升级到MySQL 8.0,也只是一时的解决方案,仍然无法避免未来的停服问题。

而迁移到国产商业数据库是一个复杂的话题,从免费社区版MySQL要升级到商业数据库,通常是因为企业在其数据库需求方面面临了新的挑战,而不同的企业面临的挑战并不相同;其次,这种替换涉及多种技术路线选择,比如MySQL、PostgreSQL、自研分布式等。客户会面临成本高、迁移难度和兼容性等多方面的问题,这里不详细展开。

我认为,迁移到国内开源数据库的方案是最值得讨论的。因为,通过采访和交流,我发现大部分选择MySQL5.7替代数据库的企业,迁移难度、改造成本和兼容性是优先考虑因素。

在这种情况下,迁移到国内MySQL开源分支自然成为最合适的替换选择。因为它能够同时满足迁移难度低、改造成本低,同时与MySQL 5.7具有较好的兼容性。目前也符合国家开源政策的鼓励和引导支持。

国内的MySQL开源分支案例分析

近几年,国内涌现出了诸如GreatSQL、PolarDB-X、StoneDB、TenDBCluster-TenDB、AliSQL开源社区等一批基于MySQL开源分支,并已经初步构建多方参与的社区生态,在应用落地、社区活跃度、代码贡献等层面围绕自身特点进行不断完善。

但很多人的认知仍然停留在过去,关于“国内的MySQL开源分支能用吗?是否会涉及知识产权侵权?”这一问题,至今还在被持续热议。

答案很明确:不会有涉及知识产权侵权的问题。陈书俊的文章《七问七答理清MySQL开源许可》已经详细回答了这个问题,这里不再赘述。

对于国内MySQL开源分支是否能用的问题,答案是当然能用。

以我看到的一个最新的国内开源MySQL分支实践案例为例(2023年6月27日发布的),梅州客商银行成功上线了数据安全平台和征信指标变量衍生平台业务系统,这两个业务系统都选择了国内MySQL开源分支GreatSQL。这表明,GreatSQL在金融领域的高可用性得到了实际验证。

因此,如果你考虑使用国内的MySQL开源分支,GreatSQL会是一个不错的选择。相对来说,国内的MySQL开源分支众多,但在开源社区活跃度及成功案例数量、口碑等方面, GreatSQL要更突出些,这也是为什么不少MySQL DBA推荐它的原因。

GreatSQL是由万里数据库维护的MySQL技术路线国内开源分支,它与MySQL和Percona Server完全兼容,完美继承了MySQL在国内的技术生态,包括周边工具,可作为它们的替代选择,用于线上生产环境。更重要的是,GreatSQL完全免费。

图片来自GreatSQL官网

据悉,GreatSQL开源社区的初衷是将其打造成【中国的MariaDB】,即中国的MySQL技术路线自主开源数据库。选择Percona作为基础,是因为他们希望在已经优化了MySQL官方社区版的基础上进一步提升GreatSQL的性能。除了Percona Server已有的稳定性、高效性和更便捷的管理等优点外,GreatSQL还针对MGR进行了大量深入的源码级优化,新增诸如地理标签、仲裁节点、读写节点可绑定动态VIP、智能选主、快速单主模式等多个企业级实用特性;同时修复大量严重故障场景下的稳定性和可靠性问题,并对性能吞吐、稳定性、安全性进行了大幅提升,可适用于金融级应用。

GreatSQL至今已经发布了5个开源版本,包括兼容5.7和8.0的。社区保持每半年发布一个版本的开发节奏,这在开源社区中也属于更新频率非常高的,可见社区的活跃度高。

此外,GreatSQL拥有InnoDB并行查询功能,在TPC-H测试中,平均性能提升了15倍,最高提升了40倍以上,这对于周期性数据聚合报告等业务,如SAP、财务统计等来说非常有用。

安全方面,GreatSQL为进一步增强数据库安全性,新增表空间国密算法支持功能。在开源MySQL原有的keyring架构上,通过国密算法增强开源MySQL keyring架构安全性,从而提升数据库整体安全性。去年,GreatSQL开源项目已经通过了中国信通院的可信开源项目和可信开源社区评估,积极响应国家开源政策,获得了国家权威机构的背书,这点也证明了GreatSQL开源项目的可用性和可信度。

我认为,在传统行业,如金融、能源和电信等领域,广泛使用MySQL的情况下,技术人员在维护MySQL开源数据库方面可能存在能力不足的问题。事实上,有一半的企业需要购买外部技术支持服务。

而万里数据库在这方面是强项,拥有过硬的技术支持服务体系。GreatSQL是由万里数据库主导成立的,从2021年成立到现在虽然只有2年多时间,但是万里数据库在MySQL领域的数据库技术根基可以追溯到自2006年起与MySQL AB合作成立的MySQL中国研发中心,在那时候就积累了丰富的MySQL底层代码研发和服务经验。

写在最后

MySQL是目前全球最流行的开源数据库软件,其巨大的市场占有率是不争的事实。在中国,各行各业的用户纷纷采用MySQL数据库,其普及程度也是不言而喻。

然而,彻底抛弃MySQL技术路线转投其它路线既不切实际,又可能伴随着巨大的风险和转变成本。因此,我们应该善用国内MySQL已经建立的技术、人才生态,结合国内产业需求,加强我们自己的MySQL开源分支的独立演进能力。

即使甲骨文没有将MySQL的开源许可证做出变更,也没有将其闭源的意图,发展国内独立的MySQL分支仍然势在必行。这是因为MySQL在本地化方面存在硬伤,如适配国产软硬件、支持国密算法以及适应国内业务量巨大的场景支持等方面都存在欠缺等。另外,希望甲骨文公司的MySQL需求评估部门全面考虑中国的情况和需求也不现实。

这也是为什么我强烈建议国内开发者积极维护国内MySQL开源分支的原因。然而,我们需要的是一个统一而强有力的MySQL开源分支,而不是分散的、零散的分支项目。只有在这个前提下,我们才能更好地发扬开源精神,推动国内数据库技术的进步,满足不断增长的业务需求。这将有助于确保MySQL在中国市场上的长期可持续性和成功发展。

附图:Oracle 官方公示软件产品对应的出口管控类别编码(MySQL 产品线,MySQL 企业版、MySQL 标准版、MySQL 经典版、MySQL 集群版以及 MySQL 嵌入式版都在 5D992.C 类别中,但不包含社区版本)

参考文章:

【1】阴谋论: MySQL将死,国产数据库的春天?

【2】七问七答理清MySQL开源许可



Tags:MySQL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
MySQL 核心模块揭秘
server 层会创建一个 SAVEPOINT 对象,用于存放 savepoint 信息。binlog 会把 binlog offset 写入 server 层为它分配的一块 8 字节的内存里。 InnoDB 会维护自己的 savepoint...【详细内容】
2024-04-03  Search: MySQL  点击:(5)  评论:(0)  加入收藏
MySQL 核心模块揭秘,你看明白了吗?
为了提升分配 undo 段的效率,事务提交过程中,InnoDB 会缓存一些 undo 段。只要同时满足两个条件,insert undo 段或 update undo 段就能被缓存。1. 关于缓存 undo 段为了提升分...【详细内容】
2024-03-27  Search: MySQL  点击:(10)  评论:(0)  加入收藏
MySQL:BUG导致DDL语句无谓的索引重建
对于5.7.23之前的版本在评估类似DDL操作的时候需要谨慎,可能评估为瞬间操作,但是实际上线的时候跑了很久,这个就容易导致超过维护窗口,甚至更大的故障。一、问题模拟使用5.7.22...【详细内容】
2024-03-26  Search: MySQL  点击:(8)  评论:(0)  加入收藏
从 MySQL 到 ByteHouse,抖音精准推荐存储架构重构解读
ByteHouse是一款OLAP引擎,具备查询效率高的特点,在硬件需求上相对较低,且具有良好的水平扩展性,如果数据量进一步增长,可以通过增加服务器数量来提升处理能力。本文将从兴趣圈层...【详细内容】
2024-03-22  Search: MySQL  点击:(23)  评论:(0)  加入收藏
MySQL自增主键一定是连续的吗?
测试环境:MySQL版本:8.0数据库表:T (主键id,唯一索引c,普通字段d)如果你的业务设计依赖于自增主键的连续性,这个设计假设自增主键是连续的。但实际上,这样的假设是错的,因为自增主键不...【详细内容】
2024-03-10  Search: MySQL  点击:(5)  评论:(0)  加入收藏
准线上事故之MySQL优化器索引选错
1 背景最近组里来了许多新的小伙伴,大家在一起聊聊技术,有小兄弟提到了MySQL的优化器的内部策略,想起了之前在公司出现的一个线上问题,今天借着这个机会,在这里分享下过程和结论...【详细内容】
2024-03-07  Search: MySQL  点击:(26)  评论:(0)  加入收藏
MySQL数据恢复,你会吗?
今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。主要...【详细内容】
2024-02-22  Search: MySQL  点击:(43)  评论:(0)  加入收藏
如何在MySQL中实现数据的版本管理和回滚操作?
实现数据的版本管理和回滚操作在MySQL中可以通过以下几种方式实现,包括使用事务、备份恢复、日志和版本控制工具等。下面将详细介绍这些方法。1.使用事务:MySQL支持事务操作,可...【详细内容】
2024-02-20  Search: MySQL  点击:(51)  评论:(0)  加入收藏
为什么高性能场景选用Postgres SQL 而不是 MySQL
一、 数据库简介 TLDR;1.1 MySQL MySQL声称自己是最流行的开源数据库,它属于最流行的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。LAMP...【详细内容】
2024-02-19  Search: MySQL  点击:(37)  评论:(0)  加入收藏
MySQL数据库如何生成分组排序的序号
经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。...【详细内容】
2024-01-30  Search: MySQL  点击:(53)  评论:(0)  加入收藏
▌简易百科推荐
MySQL 核心模块揭秘
server 层会创建一个 SAVEPOINT 对象,用于存放 savepoint 信息。binlog 会把 binlog offset 写入 server 层为它分配的一块 8 字节的内存里。 InnoDB 会维护自己的 savepoint...【详细内容】
2024-04-03  爱可生开源社区    Tags:MySQL   点击:(5)  评论:(0)  加入收藏
MySQL 核心模块揭秘,你看明白了吗?
为了提升分配 undo 段的效率,事务提交过程中,InnoDB 会缓存一些 undo 段。只要同时满足两个条件,insert undo 段或 update undo 段就能被缓存。1. 关于缓存 undo 段为了提升分...【详细内容】
2024-03-27  爱可生开源社区  微信公众号  Tags:MySQL   点击:(10)  评论:(0)  加入收藏
MySQL:BUG导致DDL语句无谓的索引重建
对于5.7.23之前的版本在评估类似DDL操作的时候需要谨慎,可能评估为瞬间操作,但是实际上线的时候跑了很久,这个就容易导致超过维护窗口,甚至更大的故障。一、问题模拟使用5.7.22...【详细内容】
2024-03-26  MySQL学习  微信公众号  Tags:MySQL   点击:(8)  评论:(0)  加入收藏
从 MySQL 到 ByteHouse,抖音精准推荐存储架构重构解读
ByteHouse是一款OLAP引擎,具备查询效率高的特点,在硬件需求上相对较低,且具有良好的水平扩展性,如果数据量进一步增长,可以通过增加服务器数量来提升处理能力。本文将从兴趣圈层...【详细内容】
2024-03-22  字节跳动技术团队    Tags:ByteHouse   点击:(23)  评论:(0)  加入收藏
MySQL自增主键一定是连续的吗?
测试环境:MySQL版本:8.0数据库表:T (主键id,唯一索引c,普通字段d)如果你的业务设计依赖于自增主键的连续性,这个设计假设自增主键是连续的。但实际上,这样的假设是错的,因为自增主键不...【详细内容】
2024-03-10    dbaplus社群  Tags:MySQL   点击:(5)  评论:(0)  加入收藏
准线上事故之MySQL优化器索引选错
1 背景最近组里来了许多新的小伙伴,大家在一起聊聊技术,有小兄弟提到了MySQL的优化器的内部策略,想起了之前在公司出现的一个线上问题,今天借着这个机会,在这里分享下过程和结论...【详细内容】
2024-03-07  转转技术  微信公众号  Tags:MySQL   点击:(26)  评论:(0)  加入收藏
MySQL数据恢复,你会吗?
今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。主要...【详细内容】
2024-02-22  数据库干货铺  微信公众号  Tags:MySQL   点击:(43)  评论:(0)  加入收藏
如何在MySQL中实现数据的版本管理和回滚操作?
实现数据的版本管理和回滚操作在MySQL中可以通过以下几种方式实现,包括使用事务、备份恢复、日志和版本控制工具等。下面将详细介绍这些方法。1.使用事务:MySQL支持事务操作,可...【详细内容】
2024-02-20  编程技术汇    Tags:MySQL   点击:(51)  评论:(0)  加入收藏
MySQL数据库如何生成分组排序的序号
经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。...【详细内容】
2024-01-30  数据库干货铺  微信公众号  Tags:MySQL   点击:(53)  评论:(0)  加入收藏
mysql索引失效的场景
MySQL中索引失效是指数据库查询时无法有效利用索引,这可能导致查询性能显著下降。以下是一些常见的MySQL索引失效的场景:1.使用非前导列进行查询: 假设有一个复合索引 (A, B)。...【详细内容】
2024-01-15  小王爱编程  今日头条  Tags:mysql索引   点击:(82)  评论:(0)  加入收藏
站内最新
站内热门
站内头条