Data Types
CQL은 형식화 된 언어이며 네이티브 형식, 컬렉션 형식, 사용자 정의 형식, 튜플 형식 및 사용자 지정 형식을 포함하여 풍부한 데이터 형식 집합을 지원합니다.
cql_type ::= native_type | collection_type | user_defined_type | tuple_type | custom_type
Native Types
CQL에서 지원하는 기본 유형은 다음과 같습니다 :
native_type ::= ASCII
| BIGINT
| BLOB
| BOOLEAN
| COUNTER
| DATE
| DECIMAL
| DOUBLE
| DURATION
| FLOAT
| INET
| INT
| SMALLINT
| TEXT
| TIME
| TIMESTAMP
| TIMEUUID
| TINYINT
| UUID
| VARCHAR
| VARINT
다음 표에서는 native 데이터 형식에 대한 추가 정보와 각 형식이 지원하는 종류의 상수를 제공합니다.
- ascii
지원되는 상수 : string
description : ASCII character string
- bigint
지원되는 상수 : integer
description : 64-bit signed long
- blob
지원되는 상수 : blob
description : 임의의 바이트 (유효성 검사 없음)
- boolean
지원되는 상수 : boolean
description : true 혹은 false
- counter
지원되는 상수 : integer
description : Counter column (64-bit signed value).
- date
지원되는 상수 : integer, string
description : 날짜 (해당 시간 값 없음).
- decimal
지원되는 상수 : integer, float
description : 10 진수
- double
지원되는 상수 : integer, float
description : 64 비트 IEEE-754 부동 소수점
- duration
지원되는 상수 : duration
description : 나노초 정밀도의 지속 시간.
- float
지원되는 상수 : integer, float
description : 32 비트 IEEE-754 부동 소수점
- inet
지원되는 상수 : string
description : IP 주소, IPv4 (4 바이트 길이) 또는 IPv6 (16 바이트 길이).
inet 상수가 없으므로 IP 주소는 문자열로 입력해야합니다.
- int
지원되는 상수 : integer
description : 32 비트 부호있는 int
- smallint
지원되는 상수 : integer
description : 16 비트 부호있는 int
- text
지원되는 상수 : string
description : UTF8로 인코딩 된 문자열
- time
지원되는 상수 : integer, string
description : 나노초 정밀도가있는 시간 (해당 날짜 값 없음).
- timestamp
지원되는 상수 : integer, string
description : 밀리 초 정밀도를 갖는 timestamp (날짜 및 시간).
- timeuuid
지원되는 상수 : uuid
description : 버전 1 UUID, 일반적으로 "충돌없는" timestamp으로 사용됩니다.
- tinyint
지원되는 상수 : integer
description : 8 비트 부호있는 int
- uuid
지원되는 상수 : uuid
description : 모든 버전의 UUID
- varchar
지원되는 상수 : string
description : UTF8로 인코딩 된 문자열
- varint
지원되는 상수 : integer
description : 임의의 정밀도 정수
Counters
카운터 유형은 카운터 열을 정의하는 데 사용됩니다.
카운터 열은 값이 64 비트 부호있는 정수이며 증가 및 감소 (구문에 대해서는 UPDATE 문을 참조하십시오)의 두 가지 연산이 지원되는 열입니다.
카운터의 값은 설정할 수 없습니다 :
카운터는 처음으로 증가 / 감소 할 때까지 존재하지 않으며 최초 값이 0 인 것처럼 첫 번째 증가 / 감소가 이루어집니다.
카운터에는 몇 가지 중요한 제한 사항이 있습니다 :
- 테이블의 PRIMARY KEY 컬럼 부분에는 사용할 수 없습니다.
- 카운터가 포함 된 테이블은 카운터 만 포함 할 수 있습니다.
즉, PRIMARY KEY 가 아닌 테이블의 모든 열이 카운터 유형을 갖거나 ,아무 열도 카운터를 가지지 않아야 합니다.
- 카운터는 만료를 지원하지 않습니다.
- 카운터 삭제는 지원되지만 카운터를 처음 삭제할 때만 작동합니다.
즉, 삭제 한 카운터를 다시 업데이트하면 안됩니다 (올바른 행동이 보장되지 않습니다).
- 카운터 업데이트는 본질적으로 idemptotent가 아닙니다.
중요한 결과는 카운터 갱신이 예기치 않게 실패한 경우 (시간 초과 또는 코디네이터 노드로의 연결 유실), 클라이언트는 갱신 사항이 적용되었는지 여부를 알 수 없습니다.
특히 업데이트를 다시 실행하면 초과 카운트가 발생할 수도 있고 그렇지 않을 수도 있습니다.
출처 : http://cassandra.apache.org/doc/latest/cql/types.html
댓글 없음 :
댓글 쓰기