패스잇
시스템 설계 · 심화

서비스 운영 중에 데이터베이스 스키마를 변경해야 하는 상황(예: 컬럼 추가/삭제, 타입 변경, 테이블 분리/병합)이 발생했을 때, 무중단 배포(Zero-downtime deployment)를 지원하면서 데이터 정합성을 유지하기 위한 효과적인 스키마 마이그레이션 전략 및 롤백 방안을 설계 관점에서 설명하시오.

힌트 · 스키마 변경 시 단계적 접근(Blue-Green, Canary), 데이터 복사 및 동기화, Dual Write 패턴, Backward/Forward Compatibility를 고려해야 합니다. 롤백을 위한 변경 이력 관리와 스냅샷 전략도 중요합니다.

Online Schema ChangeBlue/Green DeploymentFeature Toggle데이터 정합성 검증롤백 전략

모범답안

데이터베이스 스키마 변경 시 무중단 배포와 데이터 정합성을 유지하기 위해 단계적인 접근 방식을 사용합니다. 먼저, Blue/Green 배포 전략을 활용하여 새로운 스키마를 적용한 Green 환경을 구축하고, 트래픽을 점진적으로 Green 환경으로 전환합니다.

스키마 변경은 Backward/Forward Compatibility를 고려하여 진행하며, 컬럼 추가 시에는 기본값을 설정하고, 타입 변경 시에는 데이터 변환 로직을 추가합니다. Dual Write 패턴을 적용하여 신규/구버전 스키마에 동시에 데이터를 기록하여 데이터 정합성을 확보합니다.

롤백을 대비하여 스키마 변경 이력을 관리하고, 배포 전 데이터베이스 스냅샷을 생성합니다. 문제가 발생하면 즉시 트래픽을 Blue 환경으로 되돌리고, 스냅샷을 이용하여 데이터베이스를 복원합니다. Feature Toggle을 사용하여 특정 기능만 활성화/비활성화하여 문제 발생 시 영향 범위를 최소화합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 데이터베이스 설계 면접 질문

← 데이터베이스 설계 면접 질문 전체 보기