メインコンテンツまでスキップ
バージョン: Latest-3.4

機能サポート: データ分散

このドキュメントは、StarRocks がサポートするパーティション化とバケット化の機能について説明します。

サポートされているテーブルタイプ

  • バケット化

    ハッシュバケット法はすべてのテーブルタイプでサポートされています。ランダムバケット法(v3.1以降)は重複キーテーブルのみでサポートされています。

  • パーティション化

    式に基づくパーティション化(v3.1以降)、レンジパーティション化、およびリストパーティション化(v3.1以降)はすべてのテーブルタイプでサポートされています。

バケット化

機能重要ポイントサポート状況備考
バケット化戦略ハッシュバケット法はい
ランダムバケット法はい (v3.1+)ランダムバケット法は重複キーテーブルのみでサポートされています。
v3.2から、StarRocks はクラスタ情報とデータサイズに応じて作成するタブレットの数を動的に調整することをサポートしています。
バケットキーのデータ型Date, Integer, Stringはい
バケット数バケット数を自動設定はい (v3.0+)BE ノードの数または最大の履歴パーティションのデータ量によって自動的に決定されます。
後のバージョンでは、パーティション化されたテーブルと非パーティション化されたテーブルに対して個別に最適化されています。
ランダムバケット法のバケット数の動的増加はい (v3.2+)

パーティション化

機能重要ポイントサポート状況備考
パーティション化戦略式に基づくパーティション化はい (v3.1+)
  • 時間関数式に基づくパーティション化(v3.0以降)およびカラム式に基づくパーティション化(v3.1以降)を含む
  • サポートされている時間関数: date_trunc, time_slice
レンジパーティション化はい (v3.2+)v3.3.0以降、3つの特定の時間関数がパーティションキーに使用できます: from_unixtime, from_unixtime_ms, str2date, substr/substring。
リストパーティション化はい (v3.1+)
パーティションキーのデータ型Date, Integer, Booleanはい
Stringはい
  • 式に基づくパーティション化とリストパーティション化のみが String 型のパーティションキーをサポートします。
  • レンジパーティション化は String 型のパーティションキーをサポートしません。カラムを日付型に変換するために str2date を使用する必要があります。

パーティション化戦略の違い

式に基づくパーティション化レンジパーティション化リストパーティション化
時間関数式に基づくパーティション化カラム式に基づくパーティション化
データ型Date (DATE/DATETIME)
  • String (BINARY を除く)
  • Date (DATE/DATETIME)
  • Integer および Boolean
  • String (BINARY を除く) [1]
  • Date または timestamp [1]
  • Integer
  • String (BINARY を除く)
  • Date (DATE/DATETIME)
  • Integer および Boolean
複数のパーティションキーのサポート/ (日付型のパーティションキーのみをサポート)はいはいはい
パーティションキーの Null 値のサポートはい/ [2]はい/ [2]
データロード前のパーティションの手動作成/ [3]/ [3]
  • パーティションがバッチで手動作成される場合ははい
  • 動的パーティション化戦略が採用されている場合はいいえ
はい
データロード中のパーティションの自動作成はいはい//
注記
  • [1]: カラムを日付型に変換するために from_unixtime, str2date または他の時間関数を使用する必要があります。
  • [2]: Null 値は v3.3.3 以降、リストパーティション化のパーティションキーでサポートされます。
  • [3]: パーティションは自動的に作成されます。

リストパーティション化と式に基づくパーティション化の詳細な比較については、リストパーティション化と式に基づくパーティション化の比較を参照してください。