すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for SelectDB:データ型

最終更新日:Feb 25, 2026

テーブルのフィールドに適切なデータ型を選択することで、データベースのパフォーマンスおよびストレージ効率が向上します。また、データ整合性、可読性、セキュリティ、一貫性の維持にも寄与します。本トピックでは、ApsaraDB for SelectDB でサポートされるデータ型について説明します。また、SHOW DATA TYPES; 文を実行することで、SelectDB でサポートされるすべてのデータ型をすばやく確認できます。

数値型

型名

バイト数

説明

BOOLEAN

1

ブール値。

0:false

1:true

TINYINT

1

符号付き整数。

有効値範囲:[-128, 127]

SMALLINT

2

符号付き整数。

有効値範囲:[-32768, 32767]

INT

4

符号付き整数。

有効値範囲:[-2147483648, 2147483647]

BIGINT

8

符号付き整数。

有効値範囲:[-9223372036854775808, 9223372036854775807]

LARGEINT

16

符号付き整数。

有効値範囲:[-2^127 + 1 ~ 2^127 - 1]

FLOAT

4

浮動小数点数。

有効値範囲:[-3.4×10^38 ~ 3.4×10^38]

DOUBLE

8

浮動小数点数。

有効値範囲:[-1.79×10^308 ~ 1.79×10^308]

DECIMAL

4/8/16

高精度の固定小数点数。

定義形式:DECIMAL(M[,D])

  • M:

    • 有効桁数(精度)の合計。

    • 有効値範囲:[1, 38]

  • D:

    • 小数点以下の桁数(スケール)。

    • 有効値範囲:[0, 精度]

      • 精度が 0 ~ 9 の場合、4 バイトを占めます。

      • 精度が 9 より大きく 18 以下の場合、8 バイトを占めます。

      • 精度が 16 より大きく 38 以下の場合、16 バイトを占めます。

日付型

型名

バイト数

説明

DATE

16

日付型。

有効値範囲:['0000-01-01', '9999-12-31']

デフォルト出力フォーマット:yyyy-MM-dd

DATETIME

16

日付と時刻の型。

定義形式:DATETIME([P])

説明

P:

  • 時間精度。

  • デフォルト値:0

  • 有効値範囲:[0, 6](マイクロ秒まで対応)。

有効値範囲:['0000-01-01 00:00:00[.000000]', '9999-12-31 23:59:59[.999999]']

デフォルト出力フォーマット:yyyy-MM-dd HH:mm:ss.SSSSSS

文字列型

型名

バイト数

説明

CHAR

M

固定長文字列。

定義形式:CHAR(M)

説明

M は固定長文字列のバイト長を表します。

ストレージサイズ:1 ~ 255 バイト。

VARCHAR

可変

可変長文字列。

定義形式:VARCHAR(M)

説明
  • M は可変長文字列のバイト長を表します。

  • 可変長文字列は UTF-8 エンコーディングで格納されます。英字は通常 1 バイト、漢字は 3 バイトを使用します。

ストレージサイズ:1 ~ 65533 バイト。

STRING

可変

可変長文字列。

デフォルト最小ストレージサイズ:1048576 バイト(1 MB)

最大ストレージサイズ:2147483643 バイト(2 GB)

重要
  • パラメーター string_type_length_soft_limit_bytes を使用してストレージサイズを調整できます。

  • STRING 型は Value 列でのみ使用可能です。Key 列やパーティション/バケット列には使用できません。

半構造化データ型

型名

バイト数

説明

ARRAY

可変

型 T の要素からなる配列。

定義形式:ARRAY<T>

説明
  • T は基本データ型です。

  • T としてサポートされる型:

    BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DATE,
    DATEV2, DATETIME, DATETIMEV2, CHAR, VARCHAR, STRING

使用上の注意点:

  • Key 列として使用できません。

  • Duplicate モデルまたは Unique モデルのテーブルでのみサポートされます。

MAP

可変

型 K および V のキーと値のペアからなるマップ。

定義形式:MAP<K,V>

説明

K および V としてサポートされる型:

BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DECIMALV3, DATE,
DATEV2, DATETIME, DATETIMEV2, CHAR, VARCHAR, STRING

使用上の注意点:

  • Key 列として使用できません。

  • Duplicate モデルまたは Unique モデルのテーブルでのみサポートされます。

STRUCT

可変

複数のフィールドから構成される構造体。これは、複数の列の集合と見なすこともできます。

定義形式:STRUCT<field_name:field_type, ... >

説明
  • field_name:フィールド識別子。重複不可。

  • field_type:フィールドのデータ型。

使用上の注意点:

  • Key 列として使用できません。

  • Duplicate モデルのテーブルでのみサポートされます。

JSON

可変

バイナリ JSON 形式で格納されます。内部フィールドへのアクセスには JSON 関数を使用します。

デフォルト対応ストレージサイズ:1048576 バイト(1 MB)

最大対応ストレージサイズ:2147483643 バイト(2 GB)

説明

パラメーター jsonb_type_length_soft_limit_bytes を使用してストレージサイズを調整できます。

VARIANT

可変

JSON などの半構造化データを対象とした動的データ型です。有効な JSON 入力であれば何でも受け入れ、ストレージ効率とクエリ分析のパフォーマンスを向上させるために、JSON フィールドをサブカラムに自動的に分割します。VARIANT は、時間の経過とともに変化する可能性のある複雑なネスト構造の処理に特に有用です。詳細については、「VARIANT」をご参照ください。

重要

VARIANT は SelectDB カーネルバージョン 4.0.0 以降でのみサポートされます。ご利用のバージョンがそれより古い場合は、カーネルバージョンのスペックアップが必要です。

集約型

型名

バイト数

説明

HLL

可変

HLL は近似重複排除を提供します。大規模データセットにおいては、Count Distinct よりも優れたパフォーマンスを発揮します。

使用上の注意点:

  • 近似誤差:通常約 1%、場合によっては最大 2%程度です。

  • テーブル作成時に Key 列として定義することはできません。集約型は HLL_UNION である必要があります。

  • 長さやデフォルト値を指定する必要はありません。ストレージサイズは、データの集約状況に応じて内部で管理されます。

  • クエリや操作には、hll_union_agghll_raw_agghll_cardinalityhll_hash などの関数を使用する必要があります。

BITMAP

可変

正確な重複排除(例:UV 数カウント、オーディエンスセグメンテーション)に使用されます。

使用上の注意点:

  • BITMAP 列は Aggregate、Unique、Duplicate テーブルで定義可能ですが、Key 列であってはならず、Aggregate テーブルでは BITMAP_UNION 集約型と併用する必要があります。

  • 長さやデフォルト値を指定する必要はありません。ストレージサイズは、データの集約状況に応じて内部で管理されます。

  • BITMAP 列は、bitmap_union_countbitmap_unionbitmap_hashbitmap_hash64 などの専用関数でのみクエリや操作が可能です。

QUANTILE_STATE

可変

近似分位数の計算に使用されます。

データインジェスト時に、同じ Key を持つ異なる Values に対して事前集約が実行されます。

  • Values の数 ≦ 2048 の場合:すべての値を明示的に格納します。

  • Values の数 > 2048 の場合:TDigest アルゴリズムを使用してデータをクラスター化し、重心ポイントを格納します。

使用上の注意点:

  • テーブル作成時に Key 列として定義することはできません。テーブルの集約型は QUANTILE_UNION である必要があります。

  • 長さやデフォルト値を指定する必要はありません。ストレージサイズは、データの集約状況に応じて内部で管理されます。

  • クエリや操作には、QUANTILE_PERCENTQUANTILE_UNIONTO_QUANTILE_STATE などの専用関数を使用する必要があります。

AGG_STATE

可変

集計関数

集計計算の高速化に使用されます。必ず state/merge/union 関数コンビネータと併用してください。

使用上の注意点:

  • AGG_STATE は Key 列として使用できません。テーブル作成時には、集計関数のシグネチャも宣言する必要があります。

  • 長さやデフォルト値を指定する必要はありません。実際のストレージサイズは関数の実装に依存します。

IP 型

重要

以下のデータ型は、SelectDB カーネルバージョン 4.0.0 以降でのみサポートされます。ご利用のインスタンスがそれより古いバージョンを実行している場合は、カーネルのスペックアップが必要です。詳細については、「カーネルバージョンのスペックアップ」をご参照ください。

型名

バイト数

説明

IPv4

4 バイト

IPv4 アドレスを 4 バイトのバイナリ値として格納します。ipv4_* ファミリー関数と併用します。

IPv6

16 バイト

IPv6 アドレスを 16 バイトのバイナリ値として格納します。ipv6_* ファミリー関数と併用します。