1.전략 흐름
- 필드 설계 및 추가 방법 결정
- Zero Downtime 방식 고려
- 운영 적용 전에 Stage/QA에서 충분히 테스트
- 트래픽 분산 및 적용 시간 전략 마련
- 안전하게 PK 추가
1단계. PK 필드 결정
- 기존 컬럼을 PK로 삼을지,
- 새로운 컬럼(예: UUID, 시퀀스) 만들어서 PK로 삼을지.
❗ 운영 중이면 기존 데이터 변동 최소화를 목표로 한다.
❗ 대용량이면 신규 컬럼 만들어서 추가하는 것도 좋은 방법.
2단계. 무중단(Zero Downtime) 설계
온라인 방식 | Lock을 최소화하는 방법 사용 (e.g., pt-online-schema-change, gh-ost) | 안전하지만 도구 세팅 필요 |
트래픽 한가한 시간에 직접 ALTER | 새벽시간대 락 감수하고 진행 | 간단하지만 위험 |
3단계. Stage/QA 환경에서 리허설
- 운영과 최대한 비슷한 볼륨으로 테스트
- 예상 시간 측정
- 롤백 플랜(Undo Plan) 마련
4단계. 실제 적용 전략 수립
- 트래픽 한가한 시간대 예약
- 적용 전에 알람, 모니터링 강화
- 장애 발생 시 즉시 롤백할 방법 준비
- DDL 시간 예측 (예: 10초 넘으면 강제 중단)
5단계. PK 추가 실행
- 온라인 DDL이면 도구 사용해서 롤링 방식으로
- 직접 ALTER TABLE이면 빠르게 ALTER
'Etc' 카테고리의 다른 글
생산성을 높일 수 있는 AI 툴 종류 (0) | 2025.04.27 |
---|---|
Socket과 SSE 적용 (0) | 2025.04.27 |
CTI란 ? (0) | 2025.04.20 |
[SQL] BULK INSERT 란 (0) | 2025.04.20 |
BXM 장단점 (0) | 2025.04.13 |