Cassandra 테이블 예: 테이블 생성, 변경, 삭제 및 자르기

구문 Cassandra 쿼리 언어(CQL)는 다음과 유사합니다. SQL 언어.

테이블을 만드는 방법 Cassandra

컬럼 패밀리 Cassandra RDBMS 테이블과 유사합니다. 컬럼 패밀리는 데이터를 저장하는 데 사용됩니다.

'Create Table' 명령은 컬럼 패밀리를 생성하는 데 사용됩니다. Cassandra.

통사론

Create table KeyspaceName.TableName
(
ColumnName DataType,
ColumnName DataType,
ColumnName DataType
.
.
.
Primary key(ColumnName)
) with PropertyName=PropertyValue;

1. 기본 키: 두 종류의가 있습니다 기본 키.

  • 단일 기본 키: 단일 기본 키는 다음 구문을 통해 지정됩니다.

통사론

Primary key (ColumnName)

단일 기본 키에는 열이 하나만 있습니다. 해당 열을 분할 키라고도 합니다. 데이터는 해당 열을 기준으로 분할됩니다. 데이터는 파티션 키를 기준으로 여러 노드에 분산됩니다.

2. 복합 기본 키: 복합 기본 키는 다음 구문으로 지정됩니다.

통사론

Primary key(ColumnName1,ColumnName2 . . .)

위 구문에서 ColumnName1은 분할 키이고 ColumnName2는 분할 키입니다. Clustering 키. 데이터는 ColumnName1을 기준으로 분할되고 데이터는 ColumnName2를 기준으로 클러스터링됩니다. Clustering은 파티션의 데이터를 정렬하는 프로세스입니다.

3. 복합 분할 키: 복합 분할 키는 다음 구문을 통해 지정됩니다.

통사론

Primary Key((ColumnName1,ColumnName2),ColumnName3...))

위의 구문에서 ColumnName1과 ColumnName2는 복합 파티션 키입니다. 데이터는 ColumnName1과 ColumnName2 두 열을 기준으로 파티션되고 데이터는 ColumnName3을 기준으로 클러스터링됩니다. 단일 파티션에 데이터가 너무 많은 경우 복합 파티션 키가 사용됩니다. 복합 파티션 키는 데이터에 대한 여러 파티션을 만드는 데 사용됩니다.

  • 조항 포함

"With 절"은 정의된 테이블에 대한 속성과 해당 값을 지정하는 데 사용됩니다. 예를 들어 압축하려는 경우 Cassandra 테이블 데이터. With 절에 압축 알고리즘 속성 값을 지정하여 압축 속성을 설정할 수 있습니다.

예시

다음은 키스페이스 'University'에 테이블 이름 'Student'를 생성하는 'Create table' 명령의 실행입니다.

Cassandra 표 만들기

'Create table' 명령을 성공적으로 실행하면 RollNo, Name 및 dept 열이 있는 'University' 키스페이스에 'Student' 테이블이 생성됩니다. RollNo가 기본 키입니다. RollNo도 파티션 키입니다. 모든 데이터는 단일 파티션에 있습니다.

Cassandra 테이블 변경

테이블 변경 명령은 컬럼 삭제, 새 컬럼 추가, 컬럼 이름 변경, 컬럼 유형 변경, 테이블 속성 변경 등의 작업을 수행하는 데 사용됩니다.

통사론

'Alter Table' 명령의 구문은 다음과 같습니다.

Alter table KeyspaceName.TableName  +
Alter ColumnName TYPE ColumnDataype |
Add ColumnName ColumnDataType |
Drop ColumnName |
Rename ColumnName To NewColumnName |
With propertyName=PropertyValue

예시

다음은 Student 테이블에 새 열을 추가하는 'Alter Table' 명령의 스냅샷입니다.

Cassandra 테이블 변경

'Alter Table' 명령을 성공적으로 실행하면 데이터 유형이 'int'인 새 열 'Semester'가 Student 테이블에 추가됩니다.

다음은 업데이트된 Student 테이블을 보여주는 스크린샷입니다.

Cassandra 테이블 변경

Cassandra 테이블 삭제

'Drop table' 명령어는 지정된 테이블과 해당 키스페이스의 모든 데이터를 삭제합니다. 삭제하기 전에ping 테이블, Cassandra 스키마가 아닌 데이터의 스냅샷을 백업으로 가져옵니다.

통사론

Drop Table KeyspaceName.TableName

예시

다음은 키스페이스 'University'에서 Student 테이블을 삭제하는 실행된 명령 'Drop Table'의 스냅샷입니다.

Cassandra 테이블 삭제

'Drop Table' 명령을 성공적으로 실행하면 테이블 Student가 키스페이스 University에서 삭제됩니다.

다음은 반환된 오류를 보여주는 스냅샷입니다. Cassandra 존재하지 않는 Student 테이블에 액세스하려고 할 때.

Cassandra 테이블 삭제

Cassandra 테이블 자르기

'Truncate table' 명령은 지정된 테이블에서 모든 데이터를 제거합니다. 데이터를 자르기 전에, Cassandra 데이터의 스냅샷을 백업으로 가져옵니다.

통사론

Truncate KeyspaceName.TableName

예시

Student 테이블에는 세 개의 레코드가 있습니다. 테이블에 있는 기록들입니다.

Cassandra 테이블 자르기

다음은 Student 테이블에서 모든 데이터를 제거하는 'Truncate table' 명령을 실행한 스냅샷입니다.

Cassandra 테이블 자르기

'Truncate Table' 명령을 성공적으로 실행하면 Student 테이블에서 모든 데이터가 제거됩니다.

다음은 Student 테이블에 레코드가 없는 데이터베이스 상태의 스냅샷입니다.

Cassandra 테이블 자르기

이 게시물을 요약하면 다음과 같습니다.