概叙
科普文:软件架构数据库系列之【MySQL宿世此生及其体系结构概叙】-CSDN博客
前面文章有对MySQL5.6、5.7、8.0、8.4、9.0的新特性做说明,有兴趣的可以自行查看。
为什么标题里面说2024年了,MySQL8.4这个版本是必选版本?在答复这个标题之前,我们先相识一下如下几个标题。
如何选择第三方依赖软件?
选择第三方依赖软件时,应考虑多个因素,包括查看第三方开源库的版本发布说明(含bug修复情况、新特性)、服务支持、社区支持、漏洞修复速度、收费情况、开源等等。
作为一个java开发,我们以springboot项目选择第三方依赖为例、尽大概使用与Spring Boot保举的第三方开源库、参考Maven中心仓库的安全告诫信息等。
- 查看第三方开源库的版本发布说明:通过查看第三方开源库的版本发布说明,可以相识每个版本的更新内容和修复的标题,从而决定是否升级到最新版本或保持当前版本。例如,如果MyBatis的某个版本修复了与SpringBoot 2.7.18的兼容性标题,那么选择该版本可以确保兼容性和稳固性。
- 尽大概使用Spring Boot保举的第三方开源库:使用Spring Boot保举的第三方开源库可以降低安全风险,因为Spring团队已经对这些依赖组举行了充实测试。这可以确保使用的库与Spring Boot和其他相关库的兼容性,减少潜伏的标题。
- 参考Maven中心仓库的安全告诫信息:Maven中心仓库提供了安全告诫信息,这些信息可以帮助开发者相识哪些依赖包存在已知的安全标题,从而制止使用这些存在安全隐患的版本。
- 考虑开源项目标活泼度和社区支持:选择一个活泼的开源项目和有良好社区支持的项目可以确保在使用过程中碰到标题时能够得到实时的帮助和办理方案。这有助于减少因第三方依赖标题导致的开发延误和额外的维护成本。
- 考虑付费与免费选项的权衡:在选择第三方服务时,需要权衡付费与免费选项的优劣。固然免费选项可以节省成本,但大概需要更多的时间和精力来办理标题。付费选项固然成本较高,但通常能提供更好的技能支持和服务。
综上所述,选择第三方依赖软件时,应综合考虑库的兼容性、安全性、社区支持、成本等因素,以确保项目标顺遂举行和恒久维护。
说了这么多,为什么这么选择呢?很简单、当你在中午用餐时间去商场选择就餐时,是不是乐意选择用餐客户多的餐馆,而不会去门可罗雀的,或者淅淅沥沥几桌在用餐的餐馆。毕竟选择人多的,说明趟坑的人多,你选择后趟坑的成本低。
毕竟数据库不是maven依赖包,选择错了,更换的成本高。那么如何选择数据库这些关键性的中间件呢?
如何选择数据库?
选择数据库时,需要综合考虑多个因素,包括数据范例、数据量、并发性能、数据安全性、成本等。
以下是一些具体的指导原则:
- 确定需求和应用场景:首先需要明确自己的需求和应用场景,包括需要处置惩罚的数据范例(结构化或非结构化)、数据量大小、数据访问频率等。这有助于缩小选择范围,例如,如果处置惩罚的是结构化数据,如订单和客户信息,关系型数据库大概是更好的选择;如果需要处置惩罚大量非结构化数据,如图片和视频,非关系型数据库或NoSQL数据库大概更符合12。
- 相识各种数据库范例:现在主流的数据库范例包括关系型数据库、非关系型数据库、列式数据库等。差别范例的数据库有差别的优缺点,需要根据具体需求举行选择。例如,关系型数据库恰当处置惩罚结构化数据,而非关系型数据库则更恰当处置惩罚大量非结构化数据12。
- 比较差别数据库的性能:数据库性能包括读写速度、并发处置惩罚能力等。需要根据自己的需求选择恰当的数据库,不能只看代价或者知名度2。
- 考虑数据安全性:数据安全是企业或个人使用数据库的一项紧张考虑因素。需要考虑数据库的安全性能、数据备份与恢复机制等2。
- 考虑成本:选择数据库时不仅要考虑购买成本,还需要考虑后续维护和升级的成本2。
- 参考实际应用案例和用户反馈:查看差别数据库在实际应用中的表现,以及用户的使用反馈,可以帮助更好地相识各数据库的优缺点1。
综上所述,选择数据库是关系型数据库RMDB、还是NoSQL数据库?确定是关系型数据库,那么在Oracle、MySQL、PostgreSQL如何选择?同时考虑信创或者国产化的时候,你又要如何抉择?所以这是一个综合考虑多种因素的过程,需要根据自身的具体需求和条件来做出最佳选择。
什么是LTS?
恒久支持 (Long-term support,LTS):是一种软件的产物生命周期政策,特别是开源软件,它增加了软件开发过程及软件版本周期的可靠度。恒久支持延长了软件维护的周期;它也改变了软件更新(补丁)的范例及频率以降低风险、费用及软件部署的中断时间,同时提升了软件的可靠性。但这并不一定包含技能支持。
它指的是某个软件、操纵体系或技能的恒久支持版本。在服务器领域,LTS通常用来指代那些经过长时间测试和验证,而且会连续得到安全补丁和更新支持的操纵体系版本。LTS版本在服务器环境中非常紧张,因为它们提供了恒久的稳固性和可靠性保证。相比于其他非LTS版本,LTS版本更加注重稳固性而不是引入新功能,这使得企业可以放心地使用LTS版本,因为它们不会频繁更新或更改已有的功能。LTS版本通常会连续支持多年,这意味着企业可以在购买服务器时选择LTS版本,然后在未来几年内得到连续的安全升级和技能支持。这种恒久支持为企业提供了更大的灵活性和稳固性,可以制止频繁升级和大概导致体系不稳固的标题。
此外,LTS版本的软件不一定涉及功能更新,除非有一个更新的LTS版本。
但是,你会在LTS版本的更新中得到必要的错误修复和安全修复。LTS版本被保举给生产级的消耗者、企业和商家,因为你可以得到多年的软件支持,而且软件更新不会粉碎体系。LTS版本的优点包括软件更新与安全和维护修复的时间很长,广泛的测试,以及软件更新不会带来粉碎体系的厘革。
很显然,在选择MySQL版本的标题上,我们要选择LTS版本。
科普文:如何选择jdk和jdk版本-CSDN博客
科普文:【方向盘】OpenJDK生态圈_jdk8u211-CSDN博客
科普文:Oracle JDK收费后的常见openJDK版本梳理-CSDN博客
科普文:国表里JDK汇总_openjdk-CSDN博客
在前面JDK版本的文章中,我们可知现在国产JDK支持的版本都是对标oracle官方jdk,主要是jdk8,jdk11,jdk17这三个版本。
MySQL的LTS版本有哪些?
根据官方资料介绍,MySQL 5.7 生命周期于 2023 年 10 月份到期,2015 发布至今 8 个年头,长达 8 年的恒久支持就到此竣事。
MySQL 8.0 是 2018 年发布,还能坚挺半年,标准支持延长到 2025 年 4 月,去年表现应该是到今年 4 月份到期,应该是做了调整,在之前的基础上延长了两年,延伸支持的期限没有改变,仍然是 2026 年 4 月。
对于 MySQL 8.x 系列,8.4.x 将作为 LTS 恒久支持版本,而从 9.x 开始,9.7.x 将作为 LTS 恒久支持版本。
MySQL版本发布模式
MySQL 8.0的版本发行方式为连续发布模式,在该模式下MySQL能够频繁地向用户发布新特性,而不是像之前的5.6、5.7每隔几年才发布一次。但这种方法大概会给只需要关键补丁、不需要频繁更改的项目和应用程序带来寻衅。因此,MySQL接纳了一个新的版本发布方式,用户可以在创新(Innovation)和恒久支持(LTS)版本之间举行选择。
MySQL从8.0.34和8.1.0开始,启用了新的版本发行方式。 这两种版本的MySQL都可以直接应用在生产体系上,如果用户希望得到最新的功能和改进,并喜好追求新技能,保举使用MySQL创新版。创新版本非常恰当在快节奏开发环境中工作的开发人员和DBA,这些开发环境具有高水平的主动化测试和连续集成技能,可以加快升级周期。另一方面,如果用户的环境需要自己搭建,那么恒久支持版就是最佳选择。恒久支持版只包含必要的修复,减少了数据库软件厘革带来的风险。
MySQL数据库版本8.1.0是第一个创新版本,8.0.34+过渡到只修复错误,直到8.0的生命制止(EOL)计划于2026年4月。8.0.34发布约莫一年后,MySQL版本8.x将成为新的恒久支持版。在这个过渡时期,如果用户想要使用MySQL数据库的最新特性、改进和所有错误修复,请使用创新版(例如:8.1.x,8.2.x,8.3.x,等等)。如果用户只需要修复MySQL数据库的错误,请使用8.0.x版本(例如,8.0.35, 8.0.36, 8.0.37等)。
MySQL创新版
创新版本雷同于MySQL 8.0的连续开发模式(< 8.0.34),包括错误修复、安全补丁和新功能。错误修复和安全补丁通常会包含在下一个创新或LTS版本中。在使用创新版本时,用户有必要定期升级到最新的创新版,以跟上最新的错误修复和安全补丁。除此之外,创新版本还包括新的弃用、删除功能,及举动改变。为了降低升级的风险和复杂性,将在发布时包含如何实行的最佳实践内容。
MySQL恒久支持版
约莫每两年,一个小版本将被指定为恒久支持版本。这个版本将有5年的标准支持和3年的扩展支持。这雷同于MySQL 5.7和以前的版本。 恒久支持版将是主版本的末了一个版本号。下一个创新版本将增加它的主版本号。例如,如果MySQL 8.4.0的主版本号是8。那么MySQL 9.0将是下一个创新版本。
为什么2024年了MySQL8.4必选版?
综上可知,2024年到未来2032年这8年期间,MySQL 8.4.*是官方恒久支持的版本,固然未来的变乱谁能一定说得准,甲骨文有调整谁也不知道。具体怎么选择还是以各自实际情况为准再做选择,这里只做情况说明,仅供参考。
MySQL升级与降级
恒久支持版中的升级与降级
在恒久支持版本中,由于功能保持不变,数据格式不变。可以举行原地升级和降级。InnoDB的克隆功能在恒久支持版中得到支持,用于升级和降级。
从一个恒久支持版升级/降级到另一个恒久支持版
从一个恒久支持版本可以迁移到下一个恒久支持版本,不需要执行升级创新版本的几个中间步骤。升级将通过原地升级,MySQL Shell Dump & Load和MySQL异步复制实现。
降级可以通过MySQL Shell Dump & Load和MySQL异步复制来实现,其唯一目标是回滚正在举行的升级。
创新版之间的升级与降级
支持从一个创新或恒久支持版本到未来的创新版本的原地升级(到下一个恒久支持版为止)。通过MySQL Shell Dump & Load和MySQL异步复制来实现。
降级将需要MySQL Shell Dump & Load。雷同于MySQL 8.0.x(< 8.0.34)。
使用异步复制升级/降级
关键业务环境的升级通常使用MySQL异步复制完成,新版本环境设置为当前版本的副本。
用户可以从恒久支持版或创新版复制到相邻的恒久支持版本或下一个恒久支持版本出现之前的任何创新版本(例如,可以从LTS 8.4 到 LTS 9.7, 但不可以从LTS 8.4 到 LTS 10.7)
如果使用新版本后出现标题,支持回滚至以前的版本非常紧张。MySQL异步复制将能够复制回滚以前的版本。注意,这种支持将仅用于回滚目标,而且用户还没有使用新功能。不能将该操纵视为常规连续生产部署的一部分。
升级
原地
克隆
异步复制
转储/加载
LTS 8.4 → LTS 9.7
✓
✗
✓
✓
LTS 8.4.11 → LTS 8.4.20
✓
✓
✓
✓
Innovation 8.1 → 8.2
✓
✗
✓
✓
Innovation 8.1 → 8.3
✓
✗
✓
✓
Innovation 9.1 → LTS 9.7
✓
✗
✓
✓
LTS 8.4 → LTS 10.7
✗
✗
✗
✗
对于标准版主从来说,如果是MySQL 5.5,5.6版本,需要先过渡到MySQL 5.7,完成兼容性测试之后,观察一段时间之后,再次升级到MySQL 8.0;如果是MySQL 5.7版本,则可以直接升级到MySQL 8.0。
备注:线上MySQL5.7及其之前的版本升级风险,切记先写好方案,充实行证和测试后在升级;对于开发而言,唯一的区别就是MySQL的jdbc驱动。
降级
原地
克隆
异步复制
转储/加载
LTS 8.4.20 → 8.4.11
✓
✓
✓
✓
LTS 9.7 → LTS 8.4
✗
✗
✓✮
✓✮
LTS 9.7 → Innovation 9.6
✗
✗
✓✮
✓✮
LTS 9.7 → Innovation 9.5
✗
✗
✓✮
✓✮
✮表现仅用于回滚目标
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |