백엔드 개발 · 심화
데이터베이스 마이그레이션 전략과 무중단 스키마 변경 방법에 대해 설명해주세요.
힌트 · 롤링 업데이트, 블루-그린 배포, 호환성 유지를 생각해보세요.
블루-그린 배포카나리 배포온라인 스키마 변경 (Online Schema Change)스키마 호환성데이터 정합성
모범답안
데이터베이스 마이그레이션은 크게 오프라인 마이그레이션과 온라인 마이그레이션으로 나눌 수 있습니다. 무중단 스키마 변경은 온라인 마이그레이션의 핵심입니다.
가장 일반적인 전략 중 하나는 블루-그린 배포입니다. 기존 운영 환경(블루)과 동일한 새로운 환경(그린)을 준비하고, 스키마 변경을 그린 환경에 먼저 적용합니다. 이후 트래픽을 점진적으로 그린 환경으로 전환하며, 문제가 없을 시 블루 환경을 제거하는 방식입니다.
또 다른 접근법은 카나리 배포입니다. 소수의 사용자에게만 새로운 스키마를 적용한 버전을 먼저 노출시켜 안정성을 확인한 후, 점차 확대하는 방식입니다.
스키마 변경 시에는 온라인 스키마 변경(Online Schema Change) 도구를 활용하여 서비스 중단 없이 테이블 구조를 변경합니다. 이때 중요한 것은 스키마 호환성을 유지하는 것입니다. 예를 들어, 기존 애플리케이션이 새 스키마에서도 정상 동작하도록 필드 추가 시에는 null 허용으로 변경하거나, 기존 필드를 삭제하기 전에 새로운 필드로 데이터를 이전하는 등의 조치가 필요합니다. 데이터 정합성을 보장하기 위해 마이그레이션 전후로 데이터 검증 절차를 반드시 포함해야 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.