Skip to content

Cassandra Query Language #
Find similar titles

Structured data

Category
Programming

Cassandra #

Cassandra Query Language(CQL)이란 #

Cassandra Query Language(CQL)는 Apache Cassandra 데이터베이스와 통신하기 위한 기본 언어이다. Apache Cassandra와 상호 작용하는 가장 기본적인 방법은 CQL Shell인 cqlsh를 사용하는 것이다. sqlsh를 사용하여 키 공간과 테이블을 만들고, 테이블을 삽입하고 쿼리를 날리는 등의 작업을 수행할 수 있다.

Cassandra Query Language 구조 #

CQL입력은 명령문으로 구성된다. SQL과 마찬가지로 명령문은 데이터를 변경하거나, 데이터를 검색, 저장 혹은 저장하는 방식을 변경한다. CQL문도 SQL문과 마찬가지로 세미콜론으로 끝낸다.

SELECT * FROM myInco;

UPDATE myInco;
SET Col = 'inco'
WHERE colNm = 'Dept'

위 구문은 유효한 CQL 예제이다.

  • CQL을 사용하여 생성된 키 공간, 열 및 테이블 이름은 큰 따옴표로 묶지 않으며 대/소문자를 구분하지 않는다.
  • 이스케이프 문자는 작은따옴표와 큰따옴표를 사용한다.
  • 지수 표기법을 지원한다.

Cassandra Query Language 데이터 형식 #

CQL은 컬럼에 내장된 데이터 형식을 정의합니다.

CQL 타입 지원되는 상수 설명
ascii strings US-ASCII문자열
bighint integers 64bit 부호있는 long
blob blob 임의의 바이트, 16진수로 표시
boolean boolean 참 또는 거짓
counter integers 분산 카운터 값 (64bit 길이)
date strings 이 값은 해당 시간 값이 없는 날짜이다. Cassandra는 19780년 1월 1일 이후를 32비트 정수로 인코딩합니다. 날짜는 2018-04-23(yyyy-mm-dd)과 같이 쿼리 및 Insert에서 문자열로 나타낼 수 있다.
decimal integers, floats 가변 정밀도 10진수, Java 타입
double integers, floats 64bit IEEE-754 부동 소수점, Java 타입
float integer, floats 32bit IEEE-754 부동 소수점, Java 유형
frozen 사용자 정의 유형, collection, tuples 고정값은 여러 구성 요소를 단일 값으로 직렬화한다. 고정되지 않은 유형은 개별 필드에 대한 업데이트를 허용한다. Cassandra는 고정 유형의 값을 blob로 처리한다.
inet strings python-cql 드라이버 및 CQL 기본 프로토콜에서 사용하는 IPv4 또는 IPv6 형식의 IP주소 문자열
int 정수 32-bit 부호가 있는 정수
list N/A 하나 이상의 List 콜렉션
map N/A JSON 스타일의 문자 배열
set N/A 하나 이상의 컬렉션
smallint integers 2 바이트 정수
text strings UTF-8로 인코딩된 문자열
time strings 이 값은 자정 이후의 나노초 수를 나타내는 64비트 부호 있는 정수로 인코딩된다. 값은 13:30:54:234과 같이 문자열로 나타낼 수 있다.
timestamp integers,strings 이 시간 이후 8바이트로 인코딩된 초정밀도의 날짜 및 시간이다. 2018-04-23 19:20:22.231과 같이 문자열로 나타낼 수 있다.
timeuuid uuid 버전 1 UUID
tinyint integers 1 바이트 정수

Cassandra Query Language 제한 #

CQL에는 다음과 같은 제한이 존재한다.

  • 파티션에 있는 cell : ! 20(2의 31승); 단일 열 값크기 : 2GB(1MB 권장)
  • Clustering 열값의 길이 : 65,535(2의 16승 -1)
  • 키 길이 : 65,535(2의16승 -1)
  • 표/CF 이름 길이 : 48 자
  • Keyspace 이름 길이 : 48 자
  • 쿼리의 쿼리 매개 변수 : 65,535(2의 16승 -1)
  • 일괄 처리 문 : 65,535(2의 16승 -1)
  • tuple의 필드 : 32,768(2의 15승)
  • 컬렉션(List)의 제한 : ~20억(2의 31승); 값의 크기 : 65,535(2의 16승 -1)
  • 컬렉션(set)의 제한 : ~20억(2의 31승); 값의 크기 : 65,535(2의 16승 -1)
  • 컬렉션(map)의 제한 : ~20억(2의 31승); Key의 수 : 65,535(2의 16승 -1), 값의 크기 : 65535(2의16승 -1)
  • Blob 크기 : 2GB(1MB 미만 권장)

Suggested Pages #

0.0.1_20140628_0