Перейти к основному содержимому
Перейти к основному содержимому

Типы столбцов

Смотрите Типы данных для общего справочника.

Числовые типы

подсказка

Кодирование числовых типов соответствует размещению в памяти процессоров с малым порядком байтов, таких как AMD64 или ARM64.

Это позволяет реализовать очень эффективное кодирование и декодирование.

Целые числа

Строка Int и UInt длиной 8, 16, 32, 64, 128 или 256 бит, в малом порядке байтов.

Числа с плавающей запятой

Float32 и Float64 в двоичном представлении IEEE 754.

Строка

Просто массив строк, т.е. (len, value).

FixedString(N)

Массив последовательностей фиксированной длины N байт.

IP

IPv4 является псевдонимом числового типа UInt32 и представлен как UInt32.

IPv6 является псевдонимом FixedString(16) и представлен в двоичном виде напрямую.

Кортеж

Кортеж — это просто массив столбцов. Например, Tuple(String, UInt8) это просто два столбца, закодированные непрерывно.

Карта

Map(K, V) состоит из трех столбцов: Offsets ColUInt64, Keys K, Values V.

Количество строк в столбцах Keys и Values соответствует последнему значению из Offsets.

Массив

Array(T) состоит из двух столбцов: Offsets ColUInt64, Data T.

Количество строк в Data соответствует последнему значению из Offsets.

Допуск

Nullable(T) состоит из Nulls ColUInt8, Values T с одинаковым количеством строк.

UUID

Псевдоним FixedString(16), значение UUID представляется в двоичном виде.

Enum

Псевдоним для Int8 или Int16, но каждое целое число сопоставляется с некоторым значением типа String.

Низкая кардинальность

LowCardinality(T) состоит из Index T, Keys K, где K является одним из (UInt8, UInt16, UInt32, UInt64) в зависимости от размера Index.

Bool

Псевдоним для UInt8, где 0 — ложь, а 1 — истина.