DynamoDB에서 TTL(Time To Live) 사용 - Amazon DynamoDB

DynamoDB에서 TTL(Time To Live) 사용

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

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

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

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

글로벌 테이블의 글로벌 테이블 버전 2019.11.21(현재)을 사용하고 TTL 기능도 사용한다면 DynamoDB는 TTL 삭제를 모든 복제본 테이블에 복제합니다. 최초 TTL 삭제는 TTL 만료가 발생하는 리전의 쓰기 용량 단위(WCU)를 사용하지 않습니다. 그러나 복제 테이블에 대한 복제 TTL 삭제는 각 복제본 리전에서 프로비저닝된 용량을 사용할 때는 복제된 쓰기 용량 단위를 사용하고, 온디맨드 용량 모드를 사용할 때는 복제된 쓰기 단위를 사용하며 요금이 부과됩니다.

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