Overview
MySQL 5.6부터는 Online ddl 기능을 제공하기 시작하였지만, 사실은 이전에도 트리거 기반의 online alter 유틸로 서비스 중단없이 테이블 스키마 변경을 수행했었습니다. 이중 percona에서 제공해주는 pt-online-schema-change가 많이들 활용되고 있는데요. 오늘은 돌다리도 망치로 때려가면서 안정성에 신중히 접근한 우리의 케이스에 대해서 데이터 기준으로 얘기를 해보고자 합니다.
pt-online-schema-change?
얘기하기에 앞서서, 이 툴에 대해서 다시한번 짚어보겠습니다. 대충 동작 순서는 아래와 같이..
- 변경할 스키마 구조의 임시 테이블을 생성하고,
- insert/update/delete 트리거를 만들어서 최근 변경 데이터를 동기화하고,
- 처음부터 끝까지 일정 청크 사이즈로 읽으면서 임시 테이블에 복사한 후,
- 완료되면 RENAME TABLE하여 완료
동작합니다.
[Read More]