TTL이 있고 삭제가 많은 카산드라 테이블에 대해서
너무 낮은 gc_grace_seconds는 read 성능을 떨어뜨리게 된다.
그렇다고 적당한 값으로 두기에는 언젠가는 compaction으로 cassandra가 gc로 인해 hang이 될 수 있다.
적당히 타협하기 위해 gc_grace_seconds의 기본값을 수정해 하루로 변경했다.
변경 방법은 cqlsh에 진행하며 다음 커맨드를 사용한다.
cqlsh:cluster_name> alter table google_plus.recent_relation with GC_GRACE_SECONDS = 86400;
확인은 다음과 같이 진행한다.
cqlsh:cluster_name> describe google_plus.recent_relation
좀 더 응용을 한다면, with 에 속성을 주면 테이블 속성을 변경할 수 있다.
참고로
alter 만 된다고 생각하는 분들이 있는데, 테이블 생성할 때부터 compaction 정책을 생성할 수 있다.
CREATE TABLE google_plus. recent_relation (
block_id uuid,
species text,
alias text,
population varint,
PRIMARY KEY (block_id)
) WITH compression =
{ 'sstable_compression' : 'DeflateCompressor', 'chunk_length_kb' : 64 }
AND compaction =
{ 'class' : 'LeveledCompactionStrategy'};
'cassandra' 카테고리의 다른 글
[cassandra] node repair 처리 방식 (0) | 2017.01.31 |
---|---|
[cassandra] 백업 - nodetool snapshot (0) | 2017.01.31 |
[cassandra] repair 강제 종료하기 (0) | 2017.01.26 |
cassandra repair 로그 정리 (0) | 2017.01.26 |
[펌] cassandra summit 2016 자료 - 트러블 슈팅 (0) | 2017.01.24 |