Azure Cosmos DB의 TTL(Time to Live)
적용 대상: NoSQL
Time to Live 또는 TTL을 사용하면 Azure Cosmos DB는 특정 기간이 지나면 컨테이너에서 항목을 자동으로 삭제합니다. 기본적으로 컨테이너 수준에서 TTL(Time to Live)을 설정하거나 항목별 기준으로 값을 재정의할 수 있습니다. 컨테이너 또는 항목 수준에서 TTL을 설정하면 Azure Cosmos DB는 마지막으로 수정한 시간으로부터 해당 시간이 지나면 이러한 항목이 자동으로 제거합니다. TTL(Time to Live) 값은 초 단위로 구성됩니다. TTL을 구성하면 시스템은 클라이언트 애플리케이션에서 명시적으로 실행한 삭제 작업 없이도 TTL 값을 기준으로 만료된 항목을 자동으로 삭제합니다. TTL의 최대값은 2,147,483,647초이며, 이는 24,855일 또는 68년의 대략적인 값입니다.
만료된 항목은 백그라운드 작업으로 삭제됩니다. 컨테이너에서 영구적으로 삭제되지 않은 경우에도 TTL이 만료된 직후에 항목이 쿼리 응답에 더 이상 나타나지 않습니다. 컨테이너에 삭제를 수행하기에 충분한 RU(요청 단위)가 없으면 데이터 삭제가 지연됩니다. 삭제를 완료할 수 있는 충분한 RU가 있으면 데이터가 삭제됩니다.
프로비전된 처리량 계정의 경우 만료된 항목의 삭제는 사용자 요청에서 사용하지 않은 남은 RU를 사용합니다.
서버리스 계정의 경우 만료된 항목 삭제는 항목 삭제 작업과 동일한 속도로 RU로 청구됩니다.
참고 항목
이 콘텐츠는 Azure Cosmos DB 트랜잭션 저장소 TTL과 관련이 있습니다. Azure Synapse Link를 통해 NoETL HTAP 시나리오를 사용하도록 설정하는 분석 저장소 TTL을 찾고 있다면 여기를 클릭하세요.
컨테이너 및 항목에 대한 TTL(Time to live)
TTL(Time to Live) 값은 초 단위로 설정되며 항목이 마지막으로 수정된 시간의 델타로 해석됩니다. TTL(Time to Live)은 컨테이너 또는 컨테이너 내 항목에서 설정할 수 있습니다.
컨테이너에서 TTL(Time to Live)(
DefaultTimeToLive
사용하여 설정):누락되거나 null로 설정된 경우 항목이 자동으로 만료되지 않습니다.
값이 있고 값이 "-1"로 설정된 경우 무한대와 같으며 항목은 기본적으로 만료되지 않습니다.
값이 0이 아닌 숫자 "n"으로 설정된 경우 항목은 마지막으로 수정한 시간 이후 "n" 초 후에 만료됩니다.
항목에서 TTL(Time to Live)(
ttl
사용하여 설정):이 속성은
DefaultTimeToLive
가 표시되고 부모 컨테이너에 대해 null로 설정되지 않은 경우에만 적용할 수 있습니다.표시되면 부모 컨테이너의
DefaultTimeToLive
값을 재정의합니다.
TTL(Time to Live) 구성
TTL이 컨테이너에서 "n"으로 설정되면 해당 컨테이너의 항목은 n초 후에 만료됩니다. 동일한 컨테이너에 자체 수명이 있는 항목이 있는 경우 -1로 설정합니다(만료되지 않음을 나타냄). 일부 항목이 다른 숫자로 TTL(Time to Live) 설정을 재정의하는 경우 해당 항목은 자체 구성된 TTL 값에 따라 만료됩니다.
컨테이너에서 TTL을 설정하지 않으면, 이 컨테이너의 항목에서 TTL(Time to Live)은 효과가 없습니다.
컨테이너에서 TTL이 -1로 설정된 경우 TTL(Time to Live)이 n으로 설정된 이 컨테이너의 항목은 n초 후에 만료되고 나머지 항목은 만료되지 않습니다.
예제
이 섹션에서는 컨테이너 및 항목에 다른 TTL(Time to Live) 값이 할당된 몇 가지 예를 보여줍니다.
참고 항목
항목에 대해 TTL을 null로 설정하는 것은 지원되지 않습니다. 항목 TTL 값은 2147483647 이하의 0이 아닌 양의 정수이거나 항목이 만료되지 않음을 의미하는 -1이어야 합니다. 항목에 기본 TTL을 사용하려면 TTL 속성이 없는지 확인합니다.
예 1
컨테이너의 TTL이 null(DefaultTimeToLive = null)로 설정되어 있음
항목에 대한 TTL | 결과 |
---|---|
TTL 속성이 누락됨 | TTL을 사용할 수 없습니다. 항목이 만료되지 않습니다(기본값). |
ttl = -1 | TTL을 사용할 수 없습니다. 항목이 만료되지 않습니다. |
ttl = 2000 | TTL을 사용할 수 없습니다. 항목이 만료되지 않습니다. |
예제 2
컨테이너의 TTL이 -1(DefaultTimeToLive = -1)로 설정되어 있음
항목에 대한 TTL | 결과 |
---|---|
TTL 속성이 누락됨 | TTL이 사용됩니다. 항목이 만료되지 않습니다(기본값). |
ttl = -1 | TTL이 사용됩니다. 항목이 만료되지 않습니다. |
ttl = 2000 | TTL이 사용됩니다. 항목은 2,000초 후에 만료됩니다. |
예 3
컨테이너의 TTL이 1,000(DefaultTimeToLive = 1,000)으로 설정되어 있음
항목에 대한 TTL | 결과 |
---|---|
TTL 속성이 누락됨 | TTL이 사용됩니다. 항목은 1,000초(기본값) 후에 만료됩니다. |
ttl = -1 | TTL이 사용됩니다. 항목은 만료되지 않습니다. |
ttl = 2000 | TTL이 사용됩니다. 항목은 2,000초 후에 만료됩니다. |
다음 단계
TTL(Time to Live)을 구성하는 방법을 다음 문서에서 알아봅니다.