メインコンテンツまでスキップ
メインコンテンツまでスキップ

カラムの種類

一般的な参照についてはデータ型を参照してください。

数値型

ヒント

数値型のエンコーディングは、AMD64やARM64のようなリトルエンディアンCPUのメモリレイアウトと一致します。

これにより、非常に効率的なエンコーディングとデコーディングが実現します。

整数

IntおよびUIntの8、16、32、64、128または256ビットの配列で、リトルエンディアンでエンコードされています。

浮動小数点数

IEEE 754バイナリ表現のFloat32およびFloat64です。

文字列

単なるStringの配列、すなわち(len, value)です。

FixedString(N)

Nバイトシーケンスの配列です。

IP

IPv4はUInt32数値型のエイリアスで、UInt32として表現されます。

IPv6はFixedString(16)のエイリアスで、バイナリとして直接表現されます。

タプル

タプルは単なるカラムの配列です。例えば、Tuple(String, UInt8)は連続してエンコードされた2つのカラムです。

マップ

Map(K, V)は3つのカラムで構成されています: Offsets ColUInt64, Keys K, Values V

KeysカラムとValuesカラムの行数はOffsetsの最後の値です。

配列

Array(T)は2つのカラムで構成されています: Offsets ColUInt64, Data T

Dataの行数はOffsetsの最後の値です。

Nullable

Nullable(T)Nulls ColUInt8, Values Tで構成され、同じ行数を持ちます。

UUID

FixedString(16)のエイリアスで、UUID値はバイナリとして表現されます。

列挙型

Int8またはInt16のエイリアスですが、各整数はあるString値にマッピングされます。

低カーディナリティ

LowCardinality(T)Index T, Keys Kで構成され、 ここでKIndexのサイズに応じて(UInt8, UInt16, UInt32, UInt64)のいずれかです。

ブール

UInt8のエイリアスで、0はfalse、1はtrueです。