알림 히스토리를 dynamodb 에 저장한다.
알바생 유저 1명당 하루에 3개의 알림 히스토리를 생성하기에, 알림 히스토리 데이터가 적재되는 것이 많다고 생각했다. 그래서 이를 효율적으로 관리 해야한다 생각했고, 주기적으로 데이터를 삭제하는 정책을 세웠다.
팀원들과 논의 결과 일단 알림 히스토리 삭제 주기를 1달로 잡았고, 30일 주기로 데이터가 삭제되길 원했다. (추후 변동 가능성 있음)
또한 TTL의 비용은 0이다. 쓰기(삭제) 연산 비용은 공짜이며, TTL 사용을 위해 부가적으로 사용된 데이터 저장 공간 비용만이 청구된다.
Nosql DynamoDB를 사용하는 만큼, DynamoDB에서 지원하는 TTL 기능을 이용해 주기적인 데이터 관리를 하고자 한다.
DynamoDB TTL 설정은 생각보다 쉽다.
DynamoDB에서 TTL을 판별하는 방법은 2가지가 있다.
이에 따라 유저가 정의한 TTL 설정 시간과 실제 데이터가 삭제 되는 시간 사이에 간격이 발생할 수있다. 이러한 간격은 테이블 파티션 크기와 파티션에서 사용한 연산양에 비례해 커진다. 이러한 시간 간격은 최대 48 시간까지 발생할 수 있다고 aws 는 정의한다.
이러한 방식이기때문에 온전히 정확하지 않을 수 있다. 따라서 48시간 내에 삭제될 수 있다.