IT评测·应用市场-qidao123.com

标题: 【MySQL】实验DDL选择Online DDL照旧PT-OSC? [打印本页]

作者: 卖不甜枣    时间: 2024-11-16 04:29
标题: 【MySQL】实验DDL选择Online DDL照旧PT-OSC?
1.前言

MySQL DDL(Data Definition Language)表结构变动,重要支持Online DDL和PT-OSC模式,但是纵然知道两者的工作原理,在什么环境下选择什么模式新增大概更改mysql的表结构,感觉能完整清楚表述出的文章并不太多。
因此站在巨人的肩膀上,将大佬的总结,进行理解、增补和记录。
以下文章以 MySQL 5.7.24 版本作为报告依据
官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-introduction.html
2.Online DDL和PT-OSC原理、实验机制以及优缺点

在线DDL(Data Definition Language)利用和Percona Toolkit中的pt-online-schema-change工具都是为了在不绝机的环境下进行数据库模式更改而设计的,旨在减少或消除对应用程序的影响。
他们的一个明显区别在Online DDL接纳数据迁移的方式将原数据渐渐迁移到新表中,而PT-OSC接纳的是直接复制原表数据
2.1.Online DDL

在线DDL利用利用数据库管理系统(DBMS)内部的机制来实现在服务不中断的环境下修改表结构。这通常通过创建一个新表(具有新的模式),然后在配景将旧表的数据迁移到新表,末了原子性地交换两个表的引用,从而完成模式变动。整个过程对外部查询是透明的,可以继承访问旧数据,直到切换完成。
包罗以下几个步骤:

长处:

缺点:

2.2.PT-OSC

pt-online-schema-change是一个外部工具,它利用自身的算法和技能来实现在线DDL利用,它通过创建一个与原表结构相似的新表,并渐渐将数据从旧表复制到新表,同时应用任何结构更改。在复制过程中,它会捕获并重放DML(Data Manipulation Language)利用,确保数据的一连性和一致性。复制完成后,它会原子性地替换原表。
包罗以下几个步骤:

长处:

缺点:

3.各种常用DDL利用如何选择

原理理解之后,到选择阶段就很容易了,以下是我整理的常用的选择,如果想了解更多,可以看这篇文章:
https://developer.jdcloud.com/article/3923?mid=30


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4