본문 바로가기

빅데이터/cassandra

카산드라 특정 테이블에 TTL 데이터를 넣을 때 적합한 컴팩션 전략은?

질문

카산드라에서 특정 테이블에 일부 데이터는 TTL 2일로 설정되어 있고, 일부 데이터는 60일 TTL로 되어 있다면 가장 적합한 컴팩션 전략은 무엇인가요?

 

1. LeveledCompactionStrategy (LCS) 

2. SizeTieredCompactionStrategy (STCS) 

3. TimeWindowCompactionStrategy (TWCS)

 

답변

가장 적합한 전략은 TimeWindowCompactionStrategy입니다. 만에하나 동일 테이블에 여러 종류의 ttl 시간이 설정되어 있다고 하더라도 TWCS가 적합합니다. unchecked tombstone compaction을 설정함으로서 2일 이상 지난 TTL 데이터는 삭제되도록 하는 것이 좋습니다.

ALTER TABLE my_table WITH compaction =
{'class':'TimeWindowCompactionStrategy',
'unchecked_tombstone_compaction':'true', ...}

3.11.1 이상 버전을 사용할 경우 unsafe_aggressive_sstable_expiration를 true로 설정하는 것도 좋습니다.

 

답변자

- Alexander DEJANOVSKI

- DataStax principal Architect

- https://www.linkedin.com/in/alexander-dejanovski-2a9912a/?originalSubdomain=fr 

 

 

출처 : https://user.cassandra.apache.narkive.com/j3pSuCSP/best-compaction-strategy

 

Best compaction strategy

Hi All, I have one table in which i have some data which has TTL of 2days and some data which has TTL of 60 days. What compaction strategy will suits the most. 1. LeveledCompactionStrategy (LCS) 2. SizeTieredCompactionStrategy (STCS) 3. TimeWindowCompactio

user.cassandra.apache.narkive.com

 

반응형