社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL 5.7停服就上8.0?这些数据库替代也杠杠的

DBAplus社群 • 1 年前 • 353 次点击  

作者介绍

贺春旸,dbaplus社群金牌专家,凡普金科和爱钱进DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一&二版、《MySQL运维进阶指南》作者,曾任职于中国移动飞信、安卓机锋网。五次荣获dbaplus年度MVP,致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。


MySQL 5.7 将于 2023 年 10月 31日 终结生命周期。终结意味着自2023年10月31日起,MySQL官方将不再提供对MySQL 5.7版本的技术支持和更新。

具体来说,这意味着以下几点:

安全补丁和错误修复:MySQL官方将不再发布关于MySQL 5.7版本的安全补丁和错误修复。这可能会导致在未来发现的安全漏洞或错误无法得到修复,增加了系统面临的风险。

技术支持:MySQL官方将不再提供有关MySQL 5.7版本的官方技术支持。这意味着无法获得针对使用该版本时遇到的问题的官方支持和指导。

新功能和改进: MySQL官方将不再为MySQL 5.7版本引入新的功能和改进。这意味着无法获得最新的功能和性能优化。


一、升级或迁移的必要性和迫切性


本文将从技术角度和业务层面出发,来分析升级数据库或迁移到其他数据库系统的必要性和迫切性。我们将探讨为什么进行数据库升级或迁移是一个重要的决策,并从技术和业务两个方面来论述。

1、数据库性能及配套设施


在实际情况中,DBA需要考虑数据库的稳定性、可靠性、安全性和性能等方面的因素,以及业务需求情况、数据库迁移风险、知识储备、培训成本和资源成本、维护成本、社区活跃度,以及周边配套运维工具等方面的因素,来权衡是否升级数据库或迁移到其他数据库系统。

2、DBA的运维经验和市场人力储备


DBA的运维经验和市场人力储备,是评估升级数据库或迁移到其他数据库系统时重要的考虑因素之一。

运维经验:DBA的运维经验对于成功管理和维护数据库非常关键。DBA需要具备丰富的数据库管理经验,熟悉不同数据库系统的架构、配置、维护和故障排除等方面。有足够的运维经验可以提高数据库的性能、可靠性和安全性,并能够更好地解决问题和应对挑战。

市场人力储备:在决定升级数据库或迁移到其他数据库系统之前,需要评估市场上的DBA人力储备情况。DBA是一个专业领域,拥有高级数据库管理技能和经验的DBA相对较少。因此,确保拥有足够的DBA人才供应是重要的,这意味着在市场上能够找到具备相关技能和经验的DBA人才,并且他们能够提供所需的支持和服务。

评估DBA的运维经验和市场人力储备,可以帮助确定是否有足够的资源来管理新版本或目标系统的数据库,并确保数据库的稳定性和可靠性。如果DBA团队经验不足或市场上缺乏合适的人才,可能需要额外的培训和招聘,增加维护数据库的成本和风险。

因此,在决策过程中,应该考虑DBA自身和团队的运维经验,并评估市场上可用的DBA人才储备,以确保能够有效地管理和支持升级或迁移后的数据库系统。

3、兼容性、迁移风险、成本预算


在进行数据库升级或迁移时,需要考虑兼容性、迁移风险和成本预算等方面的问题。

兼容性测试:在升级到新版本之前,应该对已有应用和业务进行兼容性测试。这可以帮助DBA确定哪些应用和业务可能会受到影响,并且可以预测和规划应对措施。在测试过程中,需要注意检查新版本是否引入了新功能或特性,以及这些新内容如何影响已有应用和业务。

迁移风险和成本预算:如果选择迁移到其他数据库管理系统,需要进行数据迁移和代码重写,这可能会导致一些风险和不可控因素。例如,数据一致性、性能差异、应用程序的重构等都是需要谨慎考虑的问题。此外,迁移前需要评估迁移的成本,包括人员培训、软件和硬件采购、数据迁移工具等。这些成本都需要加以评估,以便制定明智的决策。

4、存在风险


在进行数据库升级或迁移时,还存在以下一些可能的风险。

数据丢失:在迁移过程中,数据可能会丢失或损坏。这可能会导致业务中断、数据不一致等问题,需要采取严密的备份和恢复计划,以减少这种风险。

系统不稳定:升级或迁移期间,数据库可能会处于不稳定状态,对正在运行的业务造成影响。DBA需要在进行升级或迁移之前规划好系统维护计划,并确保有足够的备用资源应对异常情况,保证业务持续稳定运行。

性能问题:升级或迁移可能会对数据库性能产生影响,例如,出现了新的瓶颈点,导致数据库性能下降。因此,在升级或迁移之前需要进行性能测试和调优,以保证新版本的表现和预期一致。


二、中心论点


1、核心系统稳定,是否有必要升级至MySQL 8.0?


答:如果您的核心系统稳定,并且当前的数据库版本能够良好地满足您的业务需求,那么升级至新版数据库可能并不是迫切必要的。在没有明确的业务需求或者对新版数据库提供的功能改进没有特殊需求的情况下,您可以继续使用当前稳定的数据库版本。升级数据库需要投入一定的时间、资源和风险,因此只有在确实存在具体的需求或者新版本能够带来明显的好处时才推荐进行升级。

可参考脸书升级案例:《从 MySQL 5.6 升级到 MySQL 8.0,Facebook 付出了什么代价?》

2、如果不升级数据库,安全问题如何保障?


答:对于敏感数据(如身份证号码、手机号码、银行卡号、密码等),应用层加密处理是一种保护敏感数据安全的有效方式。通过在应用程序中实现加密算法,可以对敏感数据进行加密存储和传输。这种方式可以有效地防止数据库被未经授权的访问或攻击所泄露数据,同时也可以保护数据在网络传输过程中的安全性。所以,即使数据库未升级或存在安全漏洞,也可以保护数据的安全性。

同时,在不升级数据库的情况下,还可以采取以下措施来加强安全保障。

强化访问控制:限制对数据库的访问权限,确保只有授权的人员可以访问敏感数据。采用合适的身份验证和授权机制,比如使用用户名和密码、角色或权限分配等方式。

合理的网络安全措施:配置防火墙、入侵检测系统(IDS)和入侵预防系统(IPS),以及其他网络安全设备,以监控和阻止恶意攻击者对数据库的入侵和访问。

3、新业务是否建议升级MySQL 8.0,或者Percona 8.0,以及MariaDB 10.6?


答:非常建议。升级到MySQL 8.0对于新业务来说是一个值得考虑的选择,它不仅提供了新功能和改进,还为您提供了实践和积累经验的机会。

MySQL 8.0引入了许多新功能和改进,包括亿级大表毫秒级加字段(Instant add column)、函数索引、Hash Join哈希索引、资源组(有效解决慢SQL引发CPU告警)、Anti Join反连接优化、自动创建自增主键,以及更好的性能和安全性等方面的提升,这些新特性可能对您的新业务提供更好的支持。

通过升级到MySQL 8.0,您可以了解和应用新的功能、优化现有的业务流程,并根据具体情况进行调整和改进。在此过程中,您将有机会积累MySQL 8.0的运维经验,熟悉新版本的特性和操作技巧,为日后的数据库管理和优化工作打下良好的基础。

此外,Percona 8.0和MariaDB 10.6也是非常不错的选择方向。Percona是一个针对高性能需求进行优化的MySQL分支,它在性能和扩展性方面具有很多优势。

Percona运维工具在MySQL社区中非常受欢迎,提供了一系列优秀的运维工具。

这些工具旨在简化和优化MySQL和Percona Server的管理和监控任务,帮助用户更好地管理和维护数据库环境。

以下是Percona一些知名的运维工具:

  • Percona Toolkit:Percona Toolkit是一个功能强大的命令行工具集,包括多个实用程序,用于诊断、优化和管理MySQL和Percona Server。它提供了诸如数据备份、数据恢复、查询分析、性能监控等功能,是DBA和开发者常用的工具之一。

  • Percona Monitoring and Management (PMM):PMM是一个开源的数据库监控和管理平台,用于可视化和分析MySQL和Percona Server的性能指标。它提供了实时监控、查询分析、数据库配置管理等功能,帮助用户快速定位和解决数据库性能问题。

  • Percona XtraBackup:Percona XtraBackup是一个高性能的开源MySQL备份工具,可以在线备份MySQL和Percona Server的数据文件,而无需停止数据库服务。它提供了增量备份、并行备份等功能,可以大大减少备份时间和系统负载。

这些工具都经过了广泛的使用和验证,被许多组织和企业用于管理和监控MySQL和Percona Server数据库环境。它们的功能强大、易于使用,帮助用户提高数据库运维效率,减少故障和性能问题的发生。

而MariaDB是由MySQL的原始创始人之一创建的一个分支,它在保持与MySQL兼容的同时,还引入了一些自己的独特功能和改进。MariaDB是甲骨文MySQL的加强版本,因此已有的系统无需进行任何修改也可以运行,就像使用Percona Server一样。

MariaDB社区版和企业版的源代码都是开源的,并且所有的功能都是免费开放的,不用担心功能上有不完整之处,但甲骨文MySQL企业版延伸套件采取的是封闭源代码且需要付费购买。

此外,MariaDB相比MySQL拥有更多的功能,操作更快、更稳定、BUG修复更快。

您可以根据具体业务需求和团队的技术栈来选择合适的数据库版本。如果你的团队已经熟悉了MySQL,并且希望尽可能保持与MySQL的兼容性,那么升级到MySQL 8.0是一个不错的选择。如果您对性能和扩展性要求较高,可以考虑使用Percona。而如果您更倾向于在MySQL基础上引入一些新功能和改进,可以选择MariaDB

无论是升级到MySQL 8.0、Percona 8.0还是MariaDB 10.6,都可以为您的新业务提供更好的支持和性能。选择合适的版本需要考虑到具体的需求和团队的技术栈,同时在升级过程中要做好测试和准备工作,以确保顺利完成和稳定运行。

4、新业务是否建议迁移到国产数据库?


答:MySQL 5.7停止维护后,从业务稳定性考虑和运维成本考虑,建议应升级到MySQL 8.0,它是一个稳定、成熟且市场份额巨大的数据库产品,同时拥有强大的技术社区支持,您可以从社区中获取到丰富的资源以及解决方案。

虽然国产数据库在近年来得到快速发展并具备许多优点,但考虑到MySQL的稳定性、成熟度和市场份额,以及相关技术社区的活跃程度,升级到MySQL 8.0可能更为可靠和有利。可参考数据库排名权威网站DB-Engines Ranking。

当然,具体的选择还取决于您的实际需求和情况。如果您对国产数据库有特殊的定制需求或外包服务,并且相信其能够满足您的业务需求,那么选择国产数据库也是一种可行的选择。在做出决策之前,最好进行详细的评估和测试,以确保选择的数据库能够符合您的预期并适应您的业务环境。


三、迁移选型总结


对于MySQL 5.7的终止生命周期,升级至新版数据库是否必要与适用,以及迁移到其他数据库系统或选择国产数据库的问题,本文做以下总结:

1、升级至MySQL 8.0


如果您的核心系统稳定并且当前数据库版本能够满足业务需求,升级至新版可能不是迫切必要的。升级数据库需要时间、资源和风险,只有在存在具体需求或新版本带来明显好处时才推荐。

2、保障安全问题


对于敏感数据,应用层加密处理是保护数据安全的有效方式。另外,强化访问控制和网络安全措施可以加强安全保障。

3、新业务建议升级新版数据库


升级到MySQL 8.0对新业务是值得考虑的选择,它提供了新功能和改进。Percona 8.0和MariaDB 10.6也是不错的选择,具有性能优势。根据具体需求和技术栈选择合适的数据库版本,并做好测试和准备工作。

4、新业务迁移到国产数据库


考虑到MySQL的稳定性、成熟度和市场份额,以及相关技术社区的活跃程度,升级至MySQL 8.0可能更可靠。但如果有特殊定制需求或对国产数据库有信任,选择国产数据库也是可行的。在做决策前进行评估和测试,确保选择的数据库符合预期并适应业务环境。

总之,升级或迁移数据库需要综合考虑稳定性、业务需求、运维经验、市场人力储备、兼容性、风险和成本等因素。根据具体情况权衡利弊,做出明智的决策。


四、MySQL DBA的挑战和机遇


DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能,保证数据库服务7*24小时的稳定高效运转。

DBA需要不断学习新技术和新特性,了解并掌握自动化运维工具、大数据技术、分布式数据库架构、云计算平台和人工智能技术等,以应对快速变化的数据库环境和日益复杂的数据库管理需求。此外,DBA还需要加强对数据库安全的了解和实践,制定有效的安全策略和措施,保护企业数据的安全和隐私。

1、启发


新特性和功能:新版本的数据库通常会引入新的功能和改进,这为DBA和开发人员提供了更多工具和选项来优化和管理数据库。他们可以学习并应用这些新特性,以提升数据库的性能和安全性。

自动化和智能化:随着技术的进步,数据库管理系统也趋向于自动化和智能化。DBA可以通过学习和掌握自动化运维工具、云计算平台和人工智能技术等,提高工作效率,并且将更多精力投入到数据库设计和性能优化等高级任务上。

大数据和分布式架构:随着数据量的不断增长和业务需求的变化,DBA和开发人员需要了解和掌握大数据技术和分布式数据库架构。他们可以通过学习和实践,构建适应大规模数据处理和高并发访问的数据库系统,为企业提供强大的数据支持和竞争优势。

2、机遇


自研运维平台和工具:通过自动化运维工具和脚本,可以减少人力投入和时间成本。例如,可以使用各种自动化工具来执行常见的备份和恢复操作、性能监控和故障排除等任务,以降低运维成本和人力成本。针对企业的特定需求,可以考虑开发自研的运维平台和工具,以提高运维效率和降低成本。例如,开发自动化部署工具、监控报警系统、故障诊断工具等,以提高运维工作的效率和准确性。

资源规划和优化:DBA可以通过对数据库资源的规划和优化,合理利用硬件资源,避免不必要的投入。例如,对数据库的存储容量进行评估和规划、优化查询语句,以减少资源占用和提高性能。

云计算和虚拟化:将数据库部署在云环境中可以带来更高的灵活性和可伸缩性,并且能够根据需求进行弹性扩容或缩容,从而节约成本。同时,虚拟化技术也可以帮助合理利用硬件资源,提高资源利用率。

合理选择开源工具:在控制预算的前提下,可以选择合适的第三方开源工具来辅助运维工作。例如,选择成熟的监控工具、备份恢复工具和性能优化工具,以减少开发和维护成本。

3、挑战


学习和适应新技术:数据库版本的更新意味着DBA和开发人员需要不断学习新技术和新特性,以适应快速变化的数据库环境。他们需要保持持续学习的态度,不断掌握新知识和技能,以应对日益复杂的数据库管理需求。DBA通过持续学习和专业发展,不断提升自身技术水平和能力,可以更好地应对挑战,提高工作效率,从而为企业节省成本和控制预算。

安全和隐私保护:随着数据泄露和安全攻击的风险不断增加,数据库安全性成为重要的挑战。DBA和开发人员需要加强对数据库安全的了解和实践,制定有效的安全策略和措施,保护企业数据的安全和隐私。

性能优化和故障排除:数据库管理系统的性能问题和故障排除,是DBA经常面临的挑战。他们需要具备深入的数据库调优和故障排查能力,能够快速定位和解决各种性能问题和故障情况,以保证数据库的高可用性和稳定性。

4、展望


尽管DBA的工作并不直接为企业带来利润,但他们在保障数据库的稳定性、高可用性和性能优化方面扮演着重要角色。数据库作为企业重要的数据存储和处理系统,其稳定性和性能关系着企业的正常运营和业务效率。

数据库的稳定性、高可用性和性能优化能够提高业务效率、减少停机时间和数据丢失风险,从而为企业创造利润和竞争优势。因此,节省成本和控制预算时,企业应该重视并投入足够的资源和人力,确保DBA团队的专业能力和技术水平,以保障数据库的稳定性和性能优化,维护企业的长期发展。




相关阅读推荐




直播推荐

MySQL 5.7 即将EOL,是选择8.0版本、还是另辟蹊径、或是按兵不动?迁移策略如何制定、潜在风险如何规避和兜底?当前业界的的迁移进度、替代方向如何?为此,dbaplus社群邀请到新浪微博资深数据库工程师-杨尚刚、Airwallex(空中云汇)资深DB架构师-赵飞祥云上汇聚,和大家探索MySQL 5.7停服的应对方案及未来规划。详情请阅读:直播预告丨MySQL 5.7停服倒计时,数据库迁移替代如何布局?


       


热门活动

2023 XCOPS智能运维管理人年会·广州站将于11月24日举办,深耕传统行业,垂直运维及数据库两大领域,结合AI、云原生等新兴技术的融合创新,精选更符合产业发展、更适配企业落地的前沿及热门议题,码上报名,享早鸟优惠。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/163569
 
353 次点击