TTL(Time To Live) - Amazon DynamoDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

TTL(Time To Live)

DynamoDB용 TTL (Time To Live) 은 더 이상 관련이 없는 항목을 삭제하기 위한 비용 효율적인 방법입니다. TTL을 사용하면 항목이 더 이상 필요하지 않은 시기를 나타내는 항목별 만료 타임스탬프를 정의할 수 있습니다. DynamoDB는 쓰기 처리량을 소비하지 않고 만료 후 며칠 내에 만료된 항목을 자동으로 삭제합니다.

TTL을 사용하려면 먼저 테이블에서 TTL을 활성화한 다음 TTL 만료 타임스탬프를 저장할 특정 속성을 정의해야 합니다. 타임스탬프는 초 단위로 Unix epoch 시간 형식으로 저장해야 합니다. 항목이 생성되거나 업데이트될 때마다 만료 시간을 계산하여 TTL 속성에 저장할 수 있습니다.

유효하고 만료된 TTL 속성을 가진 항목은 시스템에서 언제든지, 일반적으로 만료 후 며칠 이내에 삭제할 수 있습니다. TTL 속성 변경 또는 제거를 포함하여 삭제 보류 중인 만료된 항목은 계속 업데이트할 수 있습니다. 만료된 항목을 업데이트할 때는 조건 표현식을 사용하여 해당 항목이 이후에 삭제되지 않도록 하는 것이 좋습니다. 필터 표현식을 사용하여 스캔쿼리 결과에서 만료된 항목을 제거할 수 있습니다.

삭제된 항목은 일반적인 삭제 작업을 통해 삭제된 항목과 비슷하게 작동합니다. 삭제된 항목은 사용자 삭제 대신 서비스 삭제로 DynamoDB Streams에 저장되며, 다른 삭제 작업과 마찬가지로 로컬 보조 인덱스 및 글로벌 보조 인덱스에서도 제거됩니다.

글로벌 테이블의 글로벌 테이블 버전 2019.11.21 (현재) 을 사용하고 있고 TTL 기능도 사용하는 경우, DynamoDB는 TTL 삭제를 모든 복제 테이블에 복제합니다. TTL 만료가 발생한 리전의 초기 TTL 삭제에는 쓰기 용량 유닛 (WCU) 이 사용되지 않습니다. 하지만 복제본 테이블에 대한 복제된 TTL 삭제는 각 복제 지역에서 프로비저닝된 용량을 사용할 경우 복제된 쓰기 용량 단위를 소비하고, 온디맨드 용량 모드를 사용하는 경우 복제된 쓰기 단위를 소비하며 해당 요금이 적용됩니다.

DynamoDB Local을 사용하면 테이블에서 TTL을 활성화하고, TTL 속성을 생성하고, 항목의 만료 시간을 설정하여 TTL 사용 사례에 맞는 코드를 테스트할 수 있습니다. 하지만 만료된 항목은 DynamoDB Local에서 삭제되지 않습니다. 이는 DynamoDB Local이 만료된 항목을 삭제하는 데 사용되는 서버 측 프로세스와 같은 백그라운드 프로세스를 현재 실행하지 않기 때문입니다.

TTL에 대한 자세한 내용은 다음 주제를 참조하십시오.