ClickHouseのデータ型
ClickHouseは様々な種類のデータをテーブルのセルに格納できます。このセクションでは、サポートされているデータ型と、それを使用および/または実装する際の特別な考慮事項について説明します。
Note
データ型名が大文字と小文字を区別するかどうかは、system.data_type_familiesテーブルで確認できます。
ClickHouseのデータ型には次のものがあります:
- 整数型:符号付きおよび符号なし整数 (
UInt8
,UInt16
,UInt32
,UInt64
,UInt128
,UInt256
,Int8
,Int16
,Int32
,Int64
,Int128
,Int256
) - 浮動小数点数:浮動小数点数 (
Float32
とFloat64
) とDecimal
値 - ブール型:ClickHouseには
Boolean
型があります - 文字列:文字列型
String
とFixedString
- 日付:日付には
Date
とDate32
を、時間にはDateTime
とDateTime64
を使用 - オブジェクト:
Object
は1つのカラムでJSONドキュメントを保存(非推奨) - JSON:
JSON
オブジェクトは1つのカラムでJSONドキュメントを保存 - UUID:
UUID
値を効率的に保存するための選択肢 - 低いカーディナリティ型:少数のユニークな値がある場合は
Enum
を、最大10,000のユニークなカラム値がある場合はLowCardinality
を使用 - 配列:任意のカラムは
Array
型として定義可能 - マップ:キーと値のペアを保存するには
Map
を使用 - 集約関数型:集約関数の中間状態を保存するには
SimpleAggregateFunction
とAggregateFunction
を使用 - ネストされたデータ構造:
Nested
データ構造はセル内のテーブルのようなもの - タプル:個別の型をもつ要素の
Tuple
- Nullable:値が"欠けている"場合にデータ型のデフォルト値ではなく
NULL
として保存する場合にNullable
を使用 - IPアドレス:IPアドレスを効率的に保存するには
IPv4
とIPv6
を使用 - ジオタイプ:地理データ用の
Point
,Ring
,Polygon
,MultiPolygon
- 特別なデータ型:
Expression
,Set
,Nothing
,Interval
など含む