12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-26 22:14:43
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
pt-osc的原理如下:1、创建一个和源表一样表结构的新表2、在新表执行DDL语句3、在源表创建三个触发器分别对应insert、update、delete操作4、从源表拷贝数据到新表,拷贝过程中
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
pt-osc的原理如下:
1、创建一个和源表一样表结构的新表
2、在新表执行DDL语句
3、在源表创建三个触发器分别对应insert、update、delete操作
4、从源表拷贝数据到新表,拷贝过程中源表通过触发器把新的DML操作更新到新表中
5、rename源表到old表中,把新表rename为源表,最后删除源表
触发器的作用就是源表和新表之间的增量数据同步,不足之处总结如下:
因为触发器是用存储过程的步骤实现的,所以就无法避免存储过程本身需要的开销。
增大了同一个事务的执行步骤,更多的锁争抢。
整个过程无法暂停,假如发现影响主库性能,停止 Online DDL,那么下次就需要从头来过。
多个并行的操作是不安全的。
无法在生产环境做测试。
触发器和源操作还是在同一个事务空间。
备注:
推荐使用gh-ost工具做online DDL
gh-ost 首先连接到主库上,根据 alter 语句创建影子表,然后作为一个”备库“连接到其中一个真正的备库上,一边在主库上拷贝已有的数据到影子表,一边从备库上拉取增量数据的 binlog,然后不断的把 binlog 应用回主库。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19