지속적인 백업 모드를 사용하는 Azure Cosmos DB 계정에 대한 최신 복원 가능한 타임스탬프
적용 대상: NoSQL MongoDB Gremlin 테이블
Azure Cosmos DB는 컨테이너의 복원 가능한 최신 타임스탬프를 가져오는 API를 제공합니다. 이 API는 지속적인 백업 모드가 사용하도록 설정된 계정에서 사용할 수 있습니다. 복원 가능한 최신 타임스탬프는 데이터가 성공적으로 백업된 UTC 형식의 최신 타임스탬프를 나타냅니다. 이 API를 사용하면 복원 가능한 타임스탬프를 가져와 라이브 계정 복원을 트리거하거나 데이터가 정시에 백업되고 있는지 모니터링할 수 있습니다.
이 API는 또한 계정 위치를 입력 매개 변수로 사용하고 이 위치의 지정된 컨테이너에 대한 최신 복원 가능한 타임스탬프를 반환합니다. 계정이 여러 위치에 있는 경우 각 위치의 백업이 독립적으로 수행되기 때문에 다른 위치에 있는 컨테이너의 복원 가능한 최신 타임스탬프가 다를 수 있습니다.
기본적으로 이 API는 컨테이너 수준에서만 작동하지만 데이터베이스 또는 계정 수준에서 작동하도록 쉽게 확장할 수 있습니다. 이 문서는 API의 의미 체계, 계산 방법 및 사용 사례를 이해하는 데 도움이 됩니다. 자세한 내용은 API for NoSQL, MongoDB, Table 및 Gremlin 계정에 대한 최신 복원 타임스탬프를 가져오는 방법을 참조하세요.
사용 사례
다음 사용 사례에서 복원 가능한 최신 타임스탬프를 사용할 수 있습니다.
컨테이너, 데이터베이스 또는 계정에 대한 최신 복원 가능한 타임스탬프를 가져오고 이를 사용하여 복원을 트리거할 수 있습니다. 이 타임스탬프는 지정된 리소스의 데이터 또는 모든 기본 리소스가 성공적으로 백업되었음을 나타냅니다.
이 API를 사용하면 계정을 삭제하기 전에 데이터가 성공적으로 백업되었는지 확인할 수 있습니다. 이 API에서 반환된 타임스탬프가 마지막 쓰기 타임스탬프보다 작다면 아직 백업되지 않은 일부 데이터가 있다는 의미입니다. 이러한 경우 타임스탬프가 마지막 쓰기 타임스탬프와 같거나 클 때까지 이 API를 호출해야 합니다. 계정이 여러 위치에 있는 경우 계정을 삭제하기 전에 데이터가 모든 지역에서 백업되었는지 확인하기 위해 모든 위치에서 최신 복원 가능한 타임스탬프를 가져와야 합니다.
이 API를 사용하여 데이터가 정시에 백업되고 있는지 모니터링할 수 있습니다. 이 타임스탬프는 일반적으로 현재 타임스탬프의 수백 초 이내이지만 때로는 더 많이 다를 수 있습니다.
의미 체계
컨테이너의 복원 가능한 최신 타임스탬프는 한 위치에 있는 모든 해당 파티션의 백업이 수행된 최소 타임스탬프입니다. 이 API는 위치에 있는 컨테이너의 각 파티션에 대한 최신 백업 타임스탬프를 검색하여 복원 가능한 최신 타임스탬프를 계산하고 이러한 모든 타임스탬프의 최소 타임스탬프를 반환합니다. 모든 파티션의 데이터가 백업되고 해당 파티션에 새 데이터가 기록되지 않은 경우 현재 타임스탬프의 최대값과 마지막 데이터 백업 타임스탬프를 반환합니다.
파티션이 아직 백업을 수행하지 않았지만 백업할 데이터가 있는 경우 최소 Unix(epoch) 타임스탬프, 즉 1970년 1월 1일 자정 UTC(협정 세계시)를 반환합니다. 이러한 경우 사용자는 epoch 타임스탬프보다 큰 타임스탬프를 제공할 때까지 다시 시도해야 합니다.
복원 가능한 최신 타임스탬프 계산
다음 예에서는 다양한 시나리오에서 최신 복원 가능한 타임스탬프 API의 예상 결과를 설명합니다. 각 시나리오에서 파티션의 현재 로그 백업 상태, 백업 대기 중인 데이터 및 이것이 컨테이너에 대한 전체 최신 복원 가능한 타임스탬프 계산에 미치는 영향에 대해 논의합니다.
두 지역(미국 동부, 미국 서부)에 존재하는 계정이 있다고 가정하겠습니다. 두 개의 파티션(Partition1,Partition2)이 있는 "cont1" 컨테이너가 있습니다. 타임스탬프 't3'에서 이 컨테이너에 대한 최신 복원 가능한 타임스탬프를 가져오도록 요청을 보내면 이 컨테이너에 대한 전체 최신 복원 가능한 타임스탬프는 다음과 같이 계산됩니다.
사례1: 모든 파티션의 데이터가 아직 백업되지 않았습니다.
미국 동부 지역:
- 파티션 1: 마지막 백업 시간 = t2이지만 t2 이후에 백업할 데이터가 더 있습니다.
- 파티션 2: 마지막 백업 시간 = t3이고 모든 데이터가 백업됩니다.
- 복원 가능한 최신 타임스탬프 = 최소(t2, t3) = t2
미국 서부 지역:
- 파티션 1: 마지막 백업 시간 = t1이지만 t1 이후에 백업할 데이터가 더 있습니다.
- 파티션 2: 마지막 백업 시간 = t2이지만 t2 이후에 백업할 데이터가 더 있습니다.
- 복원 가능한 최신 타임스탬프 = 최소(t1, t2) = t1
사례2: 모든 파티션의 데이터가 백업됩니다.
미국 동부 지역:
- 파티션 1: 마지막 백업 시간 = t2이고 모든 데이터가 백업됩니다.
- 파티션 2: 마지막 백업 시간 = t3이고 모든 데이터가 백업됩니다.
- 복원 가능한 최신 타임스탬프 = 최대(현재 타임스탬프, t2, t3)
미국 서부 지역:
- 파티션 1: 마지막 백업 시간 = t3이고 모든 데이터가 백업됩니다.
- 파티션 2: 마지막 백업 시간 = t3이고 모든 데이터가 백업됩니다.
- 최신 복원 가능한 타임스탬프 = 최대(현재 타임스탬프, t3, t3)
사례3: 하나 이상의 파티션이 아직 백업을 수행하지 않은 경우
미국 동부 지역:
- 파티션 1: 아직 이 파티션에 대한 로그 백업이 수행되지 않았습니다.
- 파티션 2: 마지막 백업 시간 = t3
- 복원 가능한 최신 타임스탬프 = 1970-01-01 오전 12:00:00
자주 묻는 질문
주기적 백업이 있는 계정에 이 API를 사용할 수 있나요?
아니요. 이 API는 지속적인 백업 모드가 있는 계정에만 사용할 수 있습니다.
연속 모드로 마이그레이션된 계정에 이 API를 사용할 수 있나요?
예. 이 API는 지속적인 백업 모드로 프로비저닝되거나 지속적인 백업 모드로 성공적으로 마이그레이션된 계정에 사용할 수 있습니다.
최신 쓰기 타임스탬프와 복원 가능한 최신 타임스탬프 사이의 일반적인 대기 시간은 얼마인가요?
로그 백업 데이터는 100초마다 백업됩니다. 그러나 일부 예외적인 경우 백업이 100초 이상 지연될 수 있습니다.
삭제된 리소스에 대해 복원 가능한 타임스탬프가 작동하나요?
아니요. 이는 라이브 리소스(데이터베이스, 컬렉션 또는 계정)에만 적용됩니다. 실시간 계정 복원을 트리거하거나 데이터가 정시에 백업되고 있는지 모니터링하기 위해 복원 가능한 타임스탬프를 얻을 수 있습니다.
다음 단계
Azure Portal을 사용하여 지속적인 백업 모드를 구성 및 관리합니다.