Skip to content
Last updated

Treasure Dataにおけるデータパーティショニング

Treasure Dataのテーブルは、デフォルトでtimeカラムによってパーティション分割されます。

レコードがtimeカラムの値でフィルタリングされる場合、クエリエンジンはデータセット全体を処理する代わりに、関連するレコードのみを処理します。 この処理時のデータプルーニングにより、効率的なデータ処理が可能になります。

以下の例では、指定された時間範囲に適合するレコードのみが選択されます。

--example 1:
SELECT
  ...
WHERE
  TD_TIME_RANGE(time,'2013-01-01', 'PDT', null);

--example 2:
SELECT
  COUNT(1)
FROM
  table_name
WHERE
  TD_TIME_RANGE(time, '2017-07-01', '2017-07-02', 'UTC');

システムは、最適なクエリパフォーマンスとロードバランシングを維持するために、バックグラウンドでテーブルパーティションを動的に統合および分割します。

ユーザー定義パーティショニング

ユーザー定義パーティショニングは、タイムスタンプベースのパーティショニングの代替手段です。ユーザー定義パーティショニングにより、非時系列データを扱う際のパフォーマンスを向上させる他のデータパーティショニング戦略が可能になります。詳細については、Trinoのパーティショニング定義を参照してください。

Treasure Dataで時間ベースのパーティショニングを使用する例については、以下を参照してください: