AI Briefing

MySQL online alter부터 CPU 100% 장애까지

·2023.09.05 09:00

핵심 내용

대규모 MySQL 테이블에 신규 컬럼을 추가하기 위해 **online alter**를 시도하며 겪은 과정과 장애 사례를 다룬다.

자세히 보기

[쿠키런: 오븐브레이크] 팀은 신규 기능 구현을 위해 구매 기록 테이블에 purchase_dt 컬럼과 인덱스를 추가해야 했다. 하지만 테이블 규모가 매우 커서 일반적인 ALTER TABLE은 Table Lock으로 인한 서비스 중단 위험이 있었다.

첫 번째 대안인 MySQL의 inplace algorithm은 테스트 중 Duplicate entry 에러가 발생하는 등 공식 문서에 명시된 한계점이 확인되어 폐기되었다.

대안으로 Percona Toolkit의 pt-online-schema-change를 선택했다. 이 툴은 신규 테이블 생성, 트리거 설정, 데이터 복사, 테이블 교체 과정을 통해 서비스 중단 없이 스키마를 변경한다.

작업은 Staging 환경의 복제본 테스트와 Dry run을 통해 안정성을 검증하며 단계적으로 진행되었다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.