문서 및 스키마 버전 관리
시간이 지남에 따라 변화하는 기술 요구 사항을 고려하여 스키마를 변경해야 할 수도 있습니다. 스키마가 변경되면 스키마 디자인 패턴을 사용하여 원래 문서 구조를 유지할 수 있습니다. 문서와 스키마의 이전 버전을 유지하면 성능 집약적인 스키마 마이그레이션과 다운타임을 피할 수 있습니다.
사용 사례
버전 관리 패턴은 데이터 요구 사항이 변경되고 기록 데이터를 원래 형태로 유지하려는 경우에 유용합니다. 예를 들면 다음과 같습니다.
보험 회사는 고객이 추가 항목을 보장하기 위해 정책을 수정할 수 있도록 허용합니다. 고객이 정책을 변경하면 보험 회사는 시간이 지남에 따라 정책 변경 기록을 보관합니다. 회사는 문서 버전 관리 패턴을 사용하여 각 업데이트를 별도의 문서에 저장하여 정책 개정 사항을 추적합니다. 기록 데이터는 별도의 컬렉션에 저장되며 현재 데이터에 대한 쿼리에 영향을 주지 않습니다.
회사는 고객 연락처 정보를 저장합니다. 원래 스키마에서는
homePhone
,cellPhone
및email
과 같은 다양한 문의 메서드가 개별 필드에 저장됩니다. 시간이 지남에 따라homePhone
번호를 사용하는 고객이 줄어들고 있으므로 회사는 연락처 정보를 가변 하위 필드가 있는 일반contacts
문서로 이동하도록 스키마를 수정합니다. 스키마 변경 후 회사는 스키마 버전 관리 패턴을 구현하고schemaVersion
필드를 추가하여 애플리케이션에 각 문서를 쿼리하는 방법을 알려줍니다.
작업
문서 및 스키마 변경 기록을 보관하는 방법을 알아보려면 다음 페이지를 참조하세요.