본문 바로가기
Etc

운영중 테이블에 PK 추가 전략

by 당리 2025. 4. 27.

1.전략 흐름

  1. 필드 설계 및 추가 방법 결정
  2. Zero Downtime 방식 고려
  3. 운영 적용 전에 Stage/QA에서 충분히 테스트
  4. 트래픽 분산 및 적용 시간 전략 마련
  5. 안전하게 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