Spirit:继承 gh-ost 灵魂的 MySQL 在线大表变更方案

news2024/11/15 6:42:48

file

昨天看到社区发布了一个新的 MySQL 大表变更工具 Spirit。是海外支付巨头 Block 旗下的 Cash App (地位类似于支付宝) 开源的,作者之前也在 PingCAP 工作过。

file

目前市面上做大表变更的方案有两个:

  • Percona 开源的 pt-online-schema-change,基于 trigger。
  • GitHub 开源的 gh-ost,基于 binary log。

业界更多采用 gh-ost 方案。Bytebase 也集成了基于 gh-ost 的大表变更方案。

file

file

Spirit 也是继承了 gh-ost 的灵魂,整体框架沿用 gh-ost。Spirit 这个名字(中文:精神)也是致敬的 Ghost。

file

Spirit 对于 gh-ost 的改进点:

  • 多线程复制
  • 断点恢复
  • 自适应复制数据的速度
  • 通过设置水位标和保存 Change Row Map 避免复制不必要的数据

这其中最有价值的改进点是 2 - 断点恢复。之前 gh-ost 的问题是一旦断开,就要重头再来,变更一张大表,有时要几天,好不容易等到快结束时, gh-ost 挂了,一切从头来过,那大家都奔溃。

而大表变更跑的越久,挂掉的可能性就越高。尤其现在大家都跑在 K8s 上,pod 挂掉本身就是预期的。要知道数据库变更没做完,新的应用版本就没法上线,新的应用版本没法上线,新的运营活动就不能展开。这种延期对于像 Cash app 这样的业务是不可接受的。

Spirit 和 gh-ost 还有两个需要注意的区别:

  • Spirit 不像 gh-ost 那样提供激进的限流
  • Spirit 只支持 MySQL 8.0

file

我想这最后一条估计会劝退不少国内的用户,虽然 MySQL 5.7 已经官宣了 EOL,但国内 MySQL 5.6 也不在少数。

代码刚开源在 cashapp/spirit,采用 Apache 证书,知道的人还不多。如果能持续维护下去,有希望替代 gh-ost 成为 MySQL 大表变更的首选方案。
在这里插入图片描述


💡 更多资讯,请关注 Bytebase 公号:Bytebase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1135467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WMS仓储管理系统如何保障仓库的安全性

仓库安全一直以来都是企业运营中的重要一环,而WMS仓储管理系统则可以为仓库安全提供有力的保障。本文将探讨WMS仓储管理系统如何在实际应用中确保仓库的安全性。 WMS管理系统是一种专门用于管理仓库和库存的软件,它可以帮助企业对库存进行跟踪、管理以及…

鼎鑫鸿鄴引入“能源互联网+”理念 打造共赢

近年来,随着全球能源消耗的不断增长和环境问题的日益突出,清洁能源转型成为全球共同关注的话题。中国作为全球最大的能源消费国,也在积极推动能源结构的优化和清洁能源的发展。鼎鑫鸿鄴新能源科技有限公司在推动清洁能源转型方面制定了一系列…

探索 10 个有价值的在线免费设计模板网站

对于许多设计师来说,现成的模板无疑可以大大提高工作效率和质量,特别是在赶上项目过程时。然而,找到合适和免费的模板是另一个问题。在这里,我整理了10个推荐的设计模板网站,希望能对您有所帮助。 1.即时设计 即时设计…

转化率的催化剂:网站客服机器人如何推动企业销售?

随着5G的推广,人工智能技术的普及程度越来越高,人机交互已经成为这个时代的常态,无论是在我们的日常生活中还是在企业服务中都非常常见。如今,无论是营销型企业还是客服型企业,都纷纷采用网站客服机器人服务&#xff0…

研究目标检测的同学看过来:超越YOLOv8!华为提出Gold-YOLO:高效实时

超越YOLOv8!华为提出Gold-YOLO:高效实时目标检测器 超越YOLO系列(v5、v6、v7、v8)!Gold-YOLO:一种全新的实时目标检测器,提出一种GD新机制,通过卷积和自注意力操作来实现&#xff0…

Paper - Neural Discrete Representation Learning (VQ-VAE) 论文简读

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/133992971 VQ-VAE 是基于变分自编码器(VAE)的生成模型,可以学习离散的潜在表示。VQ-VAE 的主要创新是引入了一…

【Python】基于非侵入式负荷检测与分解的电力数据挖掘

文章目录 前言一、案例背景二、分析目标三、分析过程四、数据准备4.1 数据探索4.2 缺失值处理 五、属性构造5.1 设备数据5.2 周波数据 六、模型训练七、性能度量文末送书:《Python数据挖掘:入门、进阶与实用案例分析》 前言 本案例将根据已收集到的电力…

Nodejs和Node-red的关系

NPM相关知识 npm概念 npm:Node Package Manager,Node包管理器。是Node.js默认的,以JavaScript编写的软件包管理系统。 npm工作原理 npm的操作原理是各个官网使用npm publish把代码提交到npm的服务器,其他人想要使用这些代码&am…

20 行为型模式-策略模式

1 策略模式概述 策略模式(strategy pattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。 2 策略模式原理 3 策略模式实现 策略模式的本质是通过Context类…

高数基础常用公式(持续更新)

1、求根公式 2、三角函数特殊度数对应值 3、三角函数常用公式

4个方法,提高excel表格制作效率

使用excell文件的时候总是会少不了要大批量的数据进行操作,今天分享4个快速使用excel操作的小技巧。希望能够帮大家提高excel制作效率。 技巧一:快速求和 当你想要分别得到行列的总和,我们可以选中表格数据以及总和的单元格,按住…

SAP-PP-查询报工数据

有两个报表可以查询报工数据,COOIS和COHV 两个程序大致差不多 都需要在清单里选择工序或者确认, 工序查询的是有效的报工,而确认查询到的是所有报工,包括冲销的报工, 当然也可以在底表中查询,底表包括&am…

迎重阳,话养老:平安养老险如何助力国民“养老梦”?

10月23日,我们将迎来传统节日重阳节,又称敬老节,自古就有祭祖、登高、赏菊三大风俗,流传至今,已成为人们孝老敬老的重要节日。 随着老龄化日益加深,在“敬老”的同时如何“备老”成为人民群众长期热议的话题…

储能PCS的负载测试需求

储能PCS测试应覆盖的最小和最大负载范围,以确保其在不同负载条件下的正常运行,测试时可以逐步增加负载,直到达到最大负载,然后逐步减小负载,直到达到最小负载。测试应涵盖不同类型的负载,例如恒定负载、脉冲…

对于构建自定义协议的思考(Java)

工作转眼也1年时间了,回顾历程,协议占了绝大多数 JSON(比较常见的通信文本了),protoBuf(小编有写过教程),自定义协议(字节拼接,在一些iot领域中的标准几乎都…

【Java网络原理】 四

本文主要介绍了TCP/IP五层协议中的应用层常见的数组组织格式和传输层UDP协议。 一.应用层 1.网络通信数据的实质 网络上传输的数据,本质就是字符串(准确的说,是二进制的字符串) Java中的各种对象,是无法直接传输的 &…

共享WiFi贴项目地推技巧,轻松学会推广!

共享WiFi贴代理是一种热门的赚钱方式,通过推广共享WiFi贴来获取收益。但要想在竞争激烈的市场中脱颖而出并赚到钱,并不是一件容易的事情。在本文中,我们将介绍一些推广及赚钱的方法。 选择合适的位置是推广共享WiFi贴的关键。你需要选择人流量…

SpringAOP源码解析之advice执行顺序(三)

上一章我们分析了Aspect中advice的排序为Around.class, Before.class, After.class, AfterReturning.class, AfterThrowing.class,然后advice真正的执行顺序是什么?多个Aspect之间的执行顺序又是什么?就是我们本章探讨的问题。 准备工作 既…

QML(26)——多层qml界面传递信号

目录 使用场景传统方式高效方式代码效果展示 使用场景 界面嵌套关系如下 #mermaid-svg-Pt8AQGPjE5lV7nJh {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Pt8AQGPjE5lV7nJh .error-icon{fill:#552222;}#mermaid-svg…

2016年亚太杯APMCM数学建模大赛C题影视评价与定制求解全过程文档及程序

2016年亚太杯APMCM数学建模大赛 C题 影视评价与定制 原题再现 中华人民共和国成立以来,特别是政治改革和经济开放后,随着国家经济的增长、科技的发展和人民生活水平的提高,中国广播电视媒体取得了显著的成就,并得到了迅速的发展…