问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

GitHub 是如何从 MySQL 5.7 升级到 8.0 的

发布网友 发布时间:2024-09-17 01:22

我来回答

1个回答

热心网友 时间:2024-10-26 04:46

GitHub,自15年前起就依赖一个单一的MySQL数据库支持其 Ruby on Rails应用,随着平台的扩张和对高可用性、自动化测试和数据分片的需求,MySQL架构不断演变。如今,MySQL 8.0升级至核心地位,成为GitHub首选的关系型数据库。在MySQL 5.7生命周期接近尾声时,GitHub决定进行大规模的数据库升级,以获得最新安全补丁、性能提升和新功能测试。


升级过程耗时一年,涉及多团队协作,关键在于在不影响服务质量(SLO)的前提下,逐步进行。升级的动机包括升级到新版本,兼容性测试,以及利用新特性。以下是升级策略的详细步骤:



准备阶段:在2022年7月开始,确保基础设施升级的灵活性和兼容性测试。
基础设施升级:确定默认设置,执行基准测试,支持混合版本管理。
应用兼容性:在CI中并行运行5.7和8.0,监控和修复任何不兼容。
调试工具:为开发人员提供预构建容器和开发集群进行调试。
透明沟通:使用GitHub Projects跟踪升级进度和任务。
升级计划:采用分阶段策略,包括滚动升级副本、调整复制拓扑、主库升级等。

尽管过程中遇到字符排序规则、Vitess和复制延迟等问题,但通过测试、优化和解决,GitHub成功实现了从5.7到8.0的集群升级。这次升级验证了GitHub的可观察性平台、测试流程和回滚能力的重要性,也促使他们寻求减少未来升级工作量的自动化解决方案。


总结来说,MySQL升级是GitHub持续维护工作的一部分,通过这次升级,他们不仅提升了系统能力,也为未来更高效的数据库管理奠定了基础。随着GitHub的发展,他们将面临更多挑战,但通过自动化和集群管理的改进,将为未来提供更稳定和可扩展的数据库支持。

热心网友 时间:2024-10-26 04:46

GitHub,自15年前起就依赖一个单一的MySQL数据库支持其 Ruby on Rails应用,随着平台的扩张和对高可用性、自动化测试和数据分片的需求,MySQL架构不断演变。如今,MySQL 8.0升级至核心地位,成为GitHub首选的关系型数据库。在MySQL 5.7生命周期接近尾声时,GitHub决定进行大规模的数据库升级,以获得最新安全补丁、性能提升和新功能测试。


升级过程耗时一年,涉及多团队协作,关键在于在不影响服务质量(SLO)的前提下,逐步进行。升级的动机包括升级到新版本,兼容性测试,以及利用新特性。以下是升级策略的详细步骤:



准备阶段:在2022年7月开始,确保基础设施升级的灵活性和兼容性测试。
基础设施升级:确定默认设置,执行基准测试,支持混合版本管理。
应用兼容性:在CI中并行运行5.7和8.0,监控和修复任何不兼容。
调试工具:为开发人员提供预构建容器和开发集群进行调试。
透明沟通:使用GitHub Projects跟踪升级进度和任务。
升级计划:采用分阶段策略,包括滚动升级副本、调整复制拓扑、主库升级等。

尽管过程中遇到字符排序规则、Vitess和复制延迟等问题,但通过测试、优化和解决,GitHub成功实现了从5.7到8.0的集群升级。这次升级验证了GitHub的可观察性平台、测试流程和回滚能力的重要性,也促使他们寻求减少未来升级工作量的自动化解决方案。


总结来说,MySQL升级是GitHub持续维护工作的一部分,通过这次升级,他们不仅提升了系统能力,也为未来更高效的数据库管理奠定了基础。随着GitHub的发展,他们将面临更多挑战,但通过自动化和集群管理的改进,将为未来提供更稳定和可扩展的数据库支持。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福建南安都有哪些市场 端午节去南安旅行的线路有哪些值得分享? 南安有哪些特色商业街 把一个棱长是10厘米的正方体铁块熔铸成一个底面积是20厘米的圆锥形铁块... 把一块棱长10厘米的正方体铁块熔铸成一个底面直径是20厘米的圆柱形零件... 0x0438ef0指令引用的0x0438ef0内存.该内存不能为“read”的错误提示... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(8.8-25.7mm、F1.8) Vl... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(24-70mm、F1.8-F2.8)-购... 索尼RX100 M5A数码相机 索尼RX100 M5A数码相机:小巧便携,成像卓越 excel插入公式后如何让此列数据记住数值 如何让excel公式下拉后数值不变? 梦到吃桑葚是什么意思 空调电容多少uf 空调用几安的电容? 空调电容多大合适空调电容更换方法 空调电容一般要多大? 空调用的电容是多大的? 空调用多大的电容? 什么抄书app赚钱? 壁挂炉地暖如何加水 地暖第一次如何加水 固态硬盘寿命一般是多少? 固态硬盘能用多久,寿命多长时间? Mac电脑和iPhone手机 隔空投送突然不能连接的4种解决方法! macbook连接不上手机蓝牙怎么办? 苹果mac无法连接苹果手机? 整理数据是什么意思? 如何利用数据透视表对数据进行分类汇总? 番茄畅听是真的赚钱吗?可以赚钱的吗? MySQL数据库性能优化分析之AWRAutomaticWorkloadRepository使用详解my... 头疼管理 MySQL 数据库 Schema?开源工具大盘点! MySQL下载速度慢试试这些解决方法mysql下载得很慢 flink-cdc同步mysql数据到kafka 解决MySQL下载速度缓慢的方法mysql下载怎么这么慢 五香花生米做法二 美的空调72的一小时几度电? 为什么我的部落冲突总总是是卡住不动 打开部落冲突特别慢而且进入后卡住什么按不了 梦见鸡蛋碎了什么意思,梦到鸡蛋碎了流出来了 患者通过哪些途径处理医疗纠纷 MySQL三表联查实现数据分页操作mysql三表联查分页 MySQL分页查询优化技巧让你的数据更快速的被检索mysql中分页显示... MySQL的分页优化技巧mysql下一页优化 MySQL中的Limit1语句用途语法与示例mysql中limit1 MySQL中limit等查询优化技巧mysql中limit等 mysqloffsetlimit怎么用 查询效率提升10倍!3种优化方案,帮你解决MySQL深分页问题 关于MyBatis的三种分页方式 乳腺结节一厘米严重吗