2014-07-18 4 views
3

내 질문에 매우 간단합니다. GCGraceSeconds 기간 만료 (기본값 10 일) 전에 tombstone으로 표시된 열을 검색하는 것이 가능합니다. 그렇다면 정확한 CQL 쿼리는 무엇이겠습니까?카산드라의 "삭제 표시"레코드 검색

삭제 프로세스를 이해한다면 MemTables에 삭제 표시가 표시되고 압축 대기중인 SSTable은 압축을 기다리는 삭제 된 데이터를 계속 유지합니다. 따라서 압축이 이루어지기 전에 Memtable 또는 SSTable에서 삭제 표시된 데이터를 읽을 수있는 방법이 있습니까?

CQLSH 명령 프롬프트에서 CQL 3.0 사용 & 카산드라 2.0.

답변

2

당신이 맞습니다. 삭제 표시가 삽입되면 일반적으로 모든 데이터가 memtable에 있지 않으면 기본 데이터가 즉시 삭제되지 않습니다. 그러나, 당신은 언제 그것을 제어 할 수 없습니다. 많은 데이터가없고 압축이 신속하게 수행되는 경우 기본 데이터가 10 일보다 훨씬 빨리 삭제 될 수 있습니다.

삭제 된 데이터를 읽는 쿼리는 없지만 sstable2json을 사용하여 모든 SSTable을 검사하여 삭제 된 데이터가 포함되어 있는지 확인할 수 있습니다.

0

이전 덧글에 추가하기 만하면됩니다. 삭제 빈도가 높은 열 패밀리에 대해 gc_grace_seconds 값을 낮추십시오. gc에는 다소 시간이 걸리지 만 삭제 표시가 지워질 것으로 예상됩니다.

+0

정기적으로 복구를 실행하거나 (적어도 모든 gc_grace를 실행하는 경우) 삭제 된 값이 부활하는 것은 신경 쓰지 마십시오. – Richard