Cassandra Query Language
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
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 미만 권장)