728x90

이번 블로그는 Bucket 혹은 Collection 내 Document의 최대 보관 주기를 설정할 수 있는 Time To Live(TTL) 기능에 대해 살펴 보겠습니다.

 

Time To Live(TTL)에 대한 특징입니다.

  • Bucket 혹은 Collection 별로 설정 가능하고 Document 별로 SDK를 통해 설정 가능
  • TTL이 설정된 상태이면 신규 Document에 자동으로 설정되고 설정된 시간이 되면 해당 Document는 자동으로 삭제
  • TTL의 최대 수치는 2147483648(68.096 년)
  • TTL은 기본값이 0으로 비활성화 상태
  • TTL 설정이 변경되더라도 그 이전에 생성된 Document는 영향을 받지 않음, 단 TTL 변경 이후에 변경된 Document는 변경된 TTL 설정으로 적용

 

TTL을 적용할 수 없는 시나리오

  • Couchbase Eventing과 Mobile을 지원하는 Bucket에는 TTL을 설정하지 않도록 하며 만약 설정하면 시스템 오류가 발생할 수 있는 가능성

 

TTL에 설정된 시간에 다다른 Document에 대한 처리 프로세스는 다음과 같습니다.

  • Expiry pager 프로세스가 TTL 에 설정된 시간에 다다른 Document를 삭제
  • Compaction 프로세스가 실행
  • 삭제된 Document는 Tombstone 영역에 임시로 보관되고 Metadata Purge 작업을 통해 Tombstone 영역도 정리, 이러한 작업은 Auto Compaction 기능을 통해 스케줄링

 

참고자료

https://docs.couchbase.com/server/current/learn/data/expiration.html

'Couchbase 아키텍처' 카테고리의 다른 글

[데이터]Durability  (0) 2022.08.22
[데이터]인덱스  (0) 2022.08.22
[데이터]Scope, Collection  (0) 2022.08.20
[데이터]데이터 모델 : JSON  (0) 2022.08.20
[서비스]Backup 서비스  (0) 2022.08.16

+ Recent posts