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で時間ベースのパーティショニングを使用する例については、以下を参照してください: