메인 콘텐츠로 건너뛰기
일반적인 참고 내용은 데이터 타입을 참조하십시오.
숫자 타입 인코딩은 AMD64 또는 ARM64와 같은 리틀 엔디언 CPU의 메모리 레이아웃과 일치하므로 매우 효율적으로 인코딩 및 디코딩할 수 있습니다.
유형인코딩
정수형 (Int/UInt)리틀 엔디언 형식의 8, 16, 32, 64, 128 또는 256비트
부동소수점 (Float32/Float64)IEEE 754 바이너리 표현
String(len, value) 형식의 문자열 배열
FixedString(N)N바이트 시퀀스의 배열
IPv4UInt32의 별칭이며 UInt32로 표현됩니다
IPv6FixedString(16)의 별칭이며 바이너리로 표현됩니다
Tuple컬럼 배열이 연속해서 인코딩됩니다. 예시: Tuple(String, UInt8) = 연속된 2개의 컬럼
MapMap(K, V) = 3개의 컬럼: Offsets ColUInt64, Keys K, Values V. Keys/Values의 행 수 = 마지막 Offsets 값
ArrayArray(T) = 2개의 컬럼: Offsets ColUInt64, Data T. Data의 행 수 = 마지막 Offsets 값
NullableNullable(T) = 2개의 컬럼: Nulls ColUInt8, Values T이며 행 수는 동일합니다. Nulls는 마스크입니다: 1=null, 0=value
UUIDFixedString(16)의 별칭이며 바이너리로 표현됩니다
EnumInt8 또는 Int16의 별칭이며 각 정수는 String 값에 매핑됩니다
LowCardinalityLowCardinality(T) = 2개의 컬럼: Index T, Keys K 여기서 K는 UInt8/16/32/64입니다. Index에는 고유 값이 들어 있고, Keys에는 Index를 가리키는 인덱스가 들어 있습니다
BoolUInt8의 별칭: 0=false, 1=true
예시: Nullable 인코딩
[null, "", "hello", null, "world"] 인코딩:
  Values: ["", "", "hello", "", "world"] (len: 5)
  Nulls:  [ 1,  0,       0,  1,       0] (len: 5)
예시: LowCardinality 인코딩
To encode ["Eko", "Eko", "Amadela", "Amadela", "Amadela", "Amadela"]:
  Index: ["Eko", "Amadela"] (String)
  Keys:  [0, 0, 1, 1, 1, 1] (UInt8)
마지막 수정일 2026년 6월 10일