浅谈DDL技术解密
Online DDL 实现过程主要包括三个阶段:Initialization 阶段, Execution 阶段,Commit Table Definition 阶段。我们看下官方给出的内容(MySQL 8.0): (引自:https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-performance.html) 我们详细描述下这三个过程的过程: (1) Initialization
(2) Execution(如果仅修改 MetaData,则无此部操作)
(3) Commit Table Definition
我理解,Online DDL 中的 COPY 和 INPLACE 的区别在于有没有原地,COPY 会将数据从 InnoDB 存储层 copy 到 Server 层,而 INPLACE 不会;而 INPLACE 中的 Rebuilds 和 No-Rebuils 的区别在于,有没有重建表。 PT-Online-Schema-Change(PT-OSC) 全称 Percona Toolkit Online Schema Change,其中 Percona Toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 最有名的工具,但 Maatkit 已经不维护了,全部归并到 Percona Toolkit。Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务。 PT-OSC(pt-online-schema-change)工具特点与优势是支持并发 DML 操作。 GitHub’s Online Schema Transformer(GH-OST) GH-OST 是 GitHub 的在线表定义转换器,与 PT-OSC 的最大区别,在于 GH-OOST 的无触发器设计。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |