카산드라 자르기

Kasandeula Jaleugi



이 기사에서는 Apache Cassandra TRUNCATE 명령을 사용하는 방법을 배웁니다. 이 명령을 사용하면 테이블이나 해당 스키마를 삭제하지 않고 테이블에서 모든 데이터를 제거할 수 있습니다.

간단히 말해서 TRUNCATE 명령을 사용하면 테이블에 저장된 데이터를 재설정하여 새 데이터를 복원하거나 삽입할 수 있습니다.







Cassandra Truncate 명령 구문

TRUNCATE 명령 구문은 다음과 같습니다.



TRUNCATE [표] [keyspace.table_name]

위 구문에서 TABLE 키워드를 생략할 수 있습니다. 명령은 유사한 작업을 수행합니다.



TRUNCATE 명령은 대상의 데이터를 포함하는 클러스터의 모든 노드에 JMX 명령을 보냅니다. 이를 통해 노드는 최근 데이터 변경 사항을 동기화하고 최신 상태로 유지할 수 있습니다. 클러스터의 노드 중 하나가 다운되면 명령이 실패하고 오류를 반환합니다.





샘플 테이블 및 데이터 생성

설명을 위해 샘플 키스페이스와 테이블을 만듭니다. 명령은 아래 스니펫과 같습니다.

cqlsh> 키 공간 height_info 생성
... 복제 포함 = {
... '클래스': 'SimpleStrategy',
... '복제_인자': 1};
cqlsh> height_info 사용;
cqlsh:height_info> 테이블 생성 수신자(
... 너의 손,
... 사용자 이름 텍스트,
... 높이 정수,
... 기본 키(ID, 높이));

그런 다음 아래 명령과 같이 샘플 데이터를 삽입할 수 있습니다.



cqlsh:height_info> INSERT INTO 수신자(ID, 사용자 이름, 높이) 값(0, 'user1', 210);
cqlsh:height_info> INSERT INTO 수신자(ID, 사용자 이름, 높이) 값(1, 'user2', 115);
cqlsh:height_info> INSERT INTO 수신자(id, 사용자 이름, 높이) 값(2, 'user3', 202);
cqlsh:height_info> INSERT INTO 받는 사람(id, 사용자 이름, 높이) 값(3, 'user4', 212);
cqlsh:height_info> INSERT INTO 수신자(id, 사용자 이름, 높이) 값(4, 'user5', 216);

자르기 작업의 예

잘림 전에 테이블에 저장된 데이터는 다음과 같습니다.

SELECT * FROM 수신자;

다음과 같이 테이블을 자를 수 있습니다.

cqlsh:height_info> TRUNCATE TABLE height_info.recipients;

마지막으로 다음과 같이 테이블에서 데이터가 제거되었음을 확인할 수 있습니다.

cqlsh:height_info> SELECT * FROM 수신자;

모든 스키마 정의를 포함하여 테이블이 여전히 존재함을 알 수 있습니다. 그러나 테이블의 데이터가 제거되어 빈 테이블이 남습니다.

TRUNCATE 작업은 되돌릴 수 없습니다. 사용 및 잠재적인 데이터 손실에 주의하십시오.

결론

이 게시물에서는 CQL TRUNCATE 명령을 사용하여 테이블 스키마를 유지하면서 테이블에서 모든 데이터를 제거하는 방법을 배웠습니다.