您现在的位置是:亿华云 > 数据库
Facebook 分享迁移到 MySQL 8.0 的经验
亿华云2025-10-04 17:21:58【数据库】7人已围观
简介Facebook 在一篇博客中分享了该公司在某种程度上艰难的大规模跨越式迁移到 MySQL 8.0 版本的经验。此前,其一直使用的是 MySQL 5.6 版本。MySQL 是由 Oracle 开发的开
Facebook 在一篇博客中分享了该公司在某种程度上艰难的分享大规模跨越式迁移到 MySQL 8.0 版本的经验。此前,迁移其一直使用的到M的经是 MySQL 5.6 版本。
MySQL 是分享由 Oracle 开发的开源数据库,为 Facebook 的迁移一些最重要的工作负载提供支持。Facebook 方面称,到M的经MySQL 的分享每个新主要版本都需要其花费大量时间和精力来迁移工作负载。其中挑战包括有:
将其自定义功能移植到新版本 确保复制在主要版本之间兼容 最小化现有应用程序查询所需的迁移更改 修复阻止服务器支持其工作负载的性能回归根据透露,Facebook 上次升级到 MySQL 5.6 花了一年多的到M的经时间;而此向 MySQL 8.0 的升级也花了好几年的时间。在 5.7 版本发布的分享时候,Facebook 仍在开发 5.6 版上的迁移 LSM-Tree 存储引擎 MyRocks。鉴于在构建新存储引擎的到M的经同时升级到 5.7 会显着减缓 MyRocks 的云服务器提供商进度,因此该团队选择继续使用 5.6 直到 MyRocks 完成。分享而 MySQL 8.0 则刚好是迁移在 MyRocks 完成时发布的,所以 Facebook 选择升级以改进其存储引擎。到M的经
Facebook 指出,迁移到 8.0 明显比迁移到 5.6 要更困难。他们有 1700 个代码补丁要从其定制的 MySQL 5.6 分支迁移到 8.0。由于 Facebook 的 MySQL 新功能和不断添加到 5.6 代码库中的修复,使得这项工作变得非常复杂。
因为从 5.6 到 8.0 的升级完全跳过了 5.7,一些在 5.6 中活跃的 API 要么被弃用、要么被完全删除;这也就意味着任何使用旧 API 的应用程序都需要更新。且 Facebook 的一些功能也与 8.0 中的类似功能不向前兼容,需要弃用和向前迁移。
还有自定义代码文档参差不齐的问题。Facebook 称,它的大多数自定义代码都有良好的注释和文档。但其他的网站模板代码没有很好的文档,Facebook 需要挖掘旧的文件、帖子和代码注释来了解历史。
最终,Facebook 方面评估了 2300 多个补丁并将其中的 1500 个移植到了 MySQL 8.0。“我们已将许多 InnoDB 副本集转换为完全在 8.0 上运行。其余的大多数都处于迁移路径的不同阶段。现在我们的大部分自定义功能都已移植到 8.0,更新到 Oracle 的次要版本相对容易,我们计划跟上最新版本的步伐。”
“尽管我们在迁移的道路上遇到了种种障碍,但我们已经看到了运行8.0的好处。总的来说,新版本大大扩展了我们在 MySQL @ Facebook 上所能做的事情。”
更多详情可查看官方博客。
本站新闻禁止未经授权转载,违者依法追究相关法律责任。授权请联系:oscbianji#oschina.cn
本文标题:Facebook 分享迁移到 MySQL 8.0 的经验
本文地址:https://www.oschina.net/news/151964/facebook-mysql-8-0-migration
很赞哦!(43)
上一篇: 个人域名转为公司需要什么条件?个人域名转为公司该怎么做?
下一篇: 3、查看排名
相关文章
- 主流搜索引擎显示的相关搜索项越多,越能积极反映该域名的市场价值。同时,被评估域名的搜索引擎显示结果不佳可能是由于以下两个原因:
- 5G+4G无线网络协同及组网关键技术探讨
- 聊聊中间件开发
- 如何再Java Pojo转Jsoy时忽略掉一些属性
- Status、Creation Date、Expiration Date
- 像“打游戏”一样用Numpy,这个可视化编程环境了解一下?
- 如何在 JS 中判断数组是否包含指定的元素(多种方法),进收藏夹吃灰吧!
- 2021年Python程序员必备的VS code插件
- 只要我们做的是从目前的市场情况选择域名,从简单易记,从个性特征上,我们就可以找到一个好域名进行注册。域名注册进行域名记录和解析以及绑定网站后,客户可以通过URL登录您的网站。
- 用Python创建你自己的Shell