-
[Cassandra] Cassandra truncate 이후 snapshot 제거Computer Science/Cassandra 2024. 4. 10. 21:57728x90반응형
Cassandra truncate 이후 snaptshot 제거
truncate
TRUNCATE test_keyspsace.user_activity;
카산드라에서도
truncate
명령어로 테이블의 데이터를 지울 수 있다. 하지만 데이터를 다시 복구해야 할 수도 있기 때문에 스냅샷이라는 데이터를 남겨놓는다.즉, truncate 한다고 해서 바로 Disk 사용량이 줄어들지 않고 스냅샷을 제거해야 서버의 Disk 사용량이 줄어들게 된다.
snapshot 제거
./nodetool clearsnapshot {keyspace} --all ex) ./nodetool clearsnapshot test_keyspsace --all
Cassandra TRUNCATE 작업 후에 위의 명령어로 SNAPSHOT 제거도 필요하다.
하나 알게된 것은 스냅샷 제거는 테이블 단위로 제거하는 줄 알았는데 keyspace 단위로 제거해야 하는 것이었다. 그리고 노드 하나 들어가서 스냅샷 제거하면 알아서 스냅샷이 다 제거될 줄 알았는데, 노드별로 다 들어가서 직접 삭제해야 했다.
다시 생각해보면, 카산드라는 노드별로 토큰의 범위를 가지고 그 범위에 있는 데이터를 가지고 있기 때문에.. 당연한거 같다. (한번에 모든 노드 스냅샷 날리는 명령어가 있는지 모르겠다.)
그래서 4대의 노드를 쓰고 있었는데 4대 노드에 각각 스냅샷 제거 명령어를 실행 하였다.
Reference
반응형'Computer Science > Cassandra' 카테고리의 다른 글
[Cassandra] BatchOps insert if exist 컬럼에 null로 업데이트 하고 싶을 때 (0) 2024.06.15 [Cassandra] Cassandra는 데이터를 어떻게 쓸까? (2) 2024.02.17 [Cassandra] Cassandra vnode란? (2) 2024.02.13 [Cassandra] Cassandra Consistency Level 이란? (0) 2024.02.12 [Cassandra] Cassandra Partition에 대해 알아보자 (0) 2024.02.05