04

RDS MySql支持online ddl

在日常和客户沟通的过程中发现,他们在做mysql ddl变更的时候由于MySql本身的缺陷不支持online ddl,导致他们的业务不得不hang住一会儿,表越大,时间影响越长,所以期待有更好的解决方法;有些用户也想了一些方法,比如通过主备切换的方法,先在备库进行ddl,然后在通过主备切换到原主库进行ddl,但由于RDS对外提供给用户的是一个dns加port,所以后端的主备对用户是透明的,此方法行不通。其实在开源社区中已经有比较成熟的方法,那就是percona的pt-online-schema-change工具是其中之一,下面通过测试主要了解该工具的可靠性以及存在的问题,是否在RDS上支持。

继续阅读全文

15

MySQL5.6主键的在线DDL变更测试

导读:本文主要详细测试online DDL中的删除,添加主键操作。
测试目的主要有以下几点:
(1):以alter table的方式新增主键,MySQL需要做什么
(2):ALGORITHM=inplace与ALGORITHM=copy 增删主键的不同之处,和适用于怎么的环境
(3):inplace与copy对于重建主键的效率,考虑哪些元素
(4):online DDL是如何控制DML,查询的并发

继续阅读全文

09

规避MySQL中DDL的堵塞 — 解读FriendFeed对MySQL的使用

DDL指的是CREATE,DROP,ALTER之类的操作。当在MySQL中使用它们时,比如说添加一个索引,一个字段,此时MySQL会锁住表,如果数据量很大的话,这个锁表的时间可能会持续很久,在此期间,任何其它的写操作都不能执行。这无疑是个让人恼火的问题。

继续阅读全文