Overview
꿀팁 1. TTL 적용하기 꿀팁 2. TTL 더 잘 사용하기 Conclusion

Overview

브랜디는 이미 고객 여러분에게 즉각적인 서비스를 제공하기 위해 다양한 방법으로 캐싱을 하고 있습니다. 새로운 정보를 노출하기 위해 캐싱 주기를 매우 짧게 설정하고 있지만, 요청 수가 많아짐에 따라 1~2초의 캐싱도 매우 효과를 볼수 있습니다. 이번에는 DynamoDB을 이용한 캐싱작업 후 요금을 줄이기 위한 꿀팁을 소개하겠습니다.

꿀팁 1. TTL 적용하기

TTL(Time To Live)은 이미 많은 분들이 알고 있을 거라 생각합니다. TTL사용법 및 유의사항에 대해 정리를 해보겠습니다.

  • TTL 속성
    • Number 데이터 유형
    • Unix Epoch 시간 시스템을 당 초로 해석 (밀리초가 아닌 초단위인지 확인)

1. 사용방법

정말 간단합니다. TTL로 사용할 속성을 생성한 후 입력해 주면 완성! 정말 간단하죠?

하단의 Preview TTL을 클릭하면 미리 볼 수 있습니다. 밀리초나 잘못된 시간정보를 적용할 수도 있으니 한번씩 꼭 확인해보세요.

dynamodb
  • 기존 테이블에 적용 시 유의점
    • 적용되기까지 최대 한 시간 소요
    • 한번에 하나의 표만 변경 가능
    • 만료일자가 5년 이상인 데이터는 미삭제 됨

2. 유의 사항

  • TTL 시간에 정확하게 데이터가 삭제 되지 않습니다. 일반적으로 48시간 내에 항목을 삭제하기 때문에 조회시 필터링을 해야 합니다.
  • 만료 기간이 지났어도 삭제 되지 않은 항목은 업데이트를 할 수 있습니다.

3. TTL 장점

  • 백그라운드 처리가 되므로 프로비저닝 된 처리량에 포함되지 않습니다. ⇒ 삭제비용은 No. 삭제 될때까지 저장비용만 지불됨
  • 불필요한 데이터 관리를 자동화를 통해 데이터의 볼륨을 줄일 수 있습니다.
  • Metrics 에서 TTL만의 지표를 볼 수 있습니다. 이를 통해서 TTL 주기를 조정하세요.

꿀팁 2. TTL 더 잘 사용하기

서비스에 TTL을 설정하게 되면 삭제주기가 비슷하여 처리용량에 따른 비용이 발생하게 됩니다. 이에 캐싱주기를 랜덤하게 설정하여 초당 처리량을 줄여 요금폭탄 과금을 막을 수 있습니다.

예를 들어 캐싱데이터의 TTL을 랜덤하게 생성하여 과도한 과금을 막을 수 있습니다.

dynamodb


Conclusion

DynamoDB의 TTL 적용은 단순히 비용을 줄이기 위해 적용할 수도 있지만, 불필요한 데이터를 자동으로 삭제할 수 있어 더 효율적인 데이터 관리를 할수 있습니다. 개발자는 오직 개발에만 집중 하자구요.


이연서 팀장 | 커머스 개발팀
leeys4@brandi.co.kr
브랜디, 오직 예쁜 옷만