2016-06-06 2 views
0

현재 저는 YCB 프레임 워크를 사용하여 카산드라 데이터베이스를 벤치 마킹하고 있습니다. 이 기간 동안 나는 데이터의 삽입과 삭제를 꽤 정기적으로 (배치) 수행했다. 키 스페이스 행을 삭제하려면 명령을 잘라냅니다. 그러나, 나는 카산드라 데이터 디렉토리가 실험으로 부풀어 올라 있다는 것을 알아 차리고있다.카산드라 데이터 디렉토리가 삭제되지 않고 업데이트되지 않습니다.

데이터 디렉토리의 크기를 확인할 때 키 스토어에 데이터가없는 것을 확인하고 확인할 수 있습니다. Cassandra가 저장된 공간을 자동으로 해제 할 수 있도록 프로세스를 초기화하는 방법이 있습니까? 아니면 시간이 지남에 따라 발생합니까?

답변

0

Truncate을 사용하면 cassandra가 데이터의 스냅 샷을 생성합니다.

비활성화하려면 cassandra.yaml 파일에 auto_snapshot: false을 설정해야합니다.

Delete을 사용하는 경우 cassandra는 삭제 표시를 사용합니다. 즉, 데이터가 즉시 삭제되지 않습니다. 일단 압축이 실행되면 데이터가 삭제됩니다.

이전 스냅 샷을 제거하려면 nodetool snapshot 명령을 사용할 수 있습니다.

+0

감사합니다. 그것은 효과가 있었다. – Jayant

+0

압축이 실행될 때 데이터가 물리적으로 삭제되고 삭제 표시 (논리적 삭제) 이후 GCGraceSeconds 후에 만 ​​데이터가 삭제됩니다. 자세한 내용은 https://wiki.apache.org/cassandra/DistributedDeletes를 참조하십시오. – Andrew

관련 문제