피드로 돌아가기
Dev.toDatabase
원문 읽기
ALGORITHM=INSTANT 통한 Aurora MySQL Zero-Downtime 스키마 변경 구현
ALGORITHM=INSTANT on Aurora: Which ALTER TABLE Operations Are Truly Zero-Downtime
AI 요약
Context
기존 ALTER TABLE 작업 시 발생하는 Table Lock으로 인한 Read/Write 차단 문제 분석. 특히 트래픽 정점 상황에서 스키마 변경 시 발생하는 서비스 다운타임 및 Revenue 손실 리스크 해결 필요.
Technical Solution
- Metadata Lock 점유 시간 최소화 및 Background Thread 기반 데이터 수정 구조 채택
- 테이블 내부 Metadata 구조만 즉시 업데이트하여 동시 DML 연산 허용 설계
- ALGORITHM=INSTANT 적용을 통한 Error 1412(Table Lock) 발생 원천 차단
- innodb_instant_alter_column_threshold 설정을 통한 Column operation 강제 적용 제어
- aurora_alter_table_wait_for_commit 파라미터를 통한 동시 트랜잭션 영향도 조절
실천 포인트
1. Aurora MySQL
8.
0.12 이상 버전 사용 여부 확인
2. information_schema.innodb_tables 내 instant_cols 수치로 실제 적용 여부 검증
3. Generated Column 및 Default 값 변경 등 INSTANT 미지원 케이스 사전 식별
4. 대규모 테이블의 경우 Background I/O 및 CPU 부하 측정을 위한 Staging 테스트 수행