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