DB 물리 모델 배포 — 변경 영향 분석 + 무중단 배포 절차
DB 물리 모델 배포에서 기존 서비스에 영향을 주지 않으면서 스키마를 변경하는 절차를 설계한 경험이 있습니다. 컬럼 추가나 인덱스 변경은 테이블 크기에 따라 Lock 발생 여부가 달라지기 때문에, 배포 전 영향 분석을 항상 먼저 진행합니다. 실제 사례로 대형 테이블에 NOT NULL 컬럼을 추가해야 했을 때, 직접 ALTER는 테이블 잠금이 수십 분 예상됐습니다.
pt-online-schema-change를 사용해 쉐도우 테이블에 먼저 변경을 적용하고 점진적으로 교체하는 방식으로 다운타임 없이 완료했습니다. 배포는 코드 변경보다 롤백 계획이 중요하다는 걸 경험으로 배웠고, 모든 스키마 변경에 복구 SQL을 미리 준비해 두는 것을 팀 표준으로 만들었습니다. 결과적으로 서비스 영향 없이 배포가 완료됐습니다.