
345
데이터가 읽기 전용인 경우에는 간단히 데이터를 복사해 새 버전이 해당 데이터의 사본을 사용
할 수 있으므로 문제가 되지 않는다. 데이터 형식이 구성 요소 버전에 영향을 받지 않는다면 두
버전은 여전히 동일한 데이터를 공유할 수 있으므로 이 또한 문제 될 것이 없다. 이러한 상황은
보통 웹 서버가 정적 웹 콘텐츠를 호스팅하는 경우다.
이 외의 경우라면 일반적으로 데이터와 관계없이 무중단으로 배포할 수 있는 방식으로 구성 요
소나 애플리케이션을 만들어야 한다. 예를 들어 업그레이드하는 동안에는 읽기 전용 모드가 되
도록 구성 요소를 만들 수 있다. 또는 업그레이드를 완료한 후 데이터 저장소의 한 인스턴스에
적용된 변경을 새 인스턴스에서 재생할 수 있도록 트랜잭션 로그를 사용할 수도 있다.
무중단 배포를 위해 데이터를 다루는 효과적인 방법은 데이터 형식 변경을 소프트웨어 릴리스
와 분리하는 것이다. 이를 위해서는 두 가지 다른 데이터 형식과 함께 동작할 수 있도록 소프트
웨어를 만들어야 한다. 분리하는 절차는 다음과 같다. 먼저 기존 형식의 데이터와 함께 소프트
웨어를 배포하고 검증한다. 그 후 소프트웨어가 동작하는 동안 백그라운드 작업을 통해 데이터
를 변경한다. 소프트웨어는 이미 두 가지 다른 데이터 형식과 함께