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など含む