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

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

このドキュメントでは、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]: パーティションは自動的に作成されます。

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