Skip to content
Last updated

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

データがTreasure Dataに保存される際、タイムスタンプに基づいてパーティション分割されます。データはtimeカラムでパーティション分割され、通常は1時間単位のパーティションになります。

'time'カラムを制約することで、データセット全体を処理することを避け、より対象を絞ったデータ処理を行うことができます。パーティショニングにより、優れたパフォーマンス、効率的なデータ管理、および可用性の向上が実現されます。

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

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

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

TDは顧客データ用のリアルタイムストレージとアーカイブストレージを提供しています。パーティション分割されたデータはリアルタイムストレージに移動され、その後アーカイブストレージに移動されます。td-agentやJS/Mobile SDKなどのストリーミングインポートAPIを通じてTreasure Dataにインポートされたデータは、最初にリアルタイムストレージに保存されます。データコネクタやバルクインポートAPIは、データを直接アーカイブストレージにロードします。

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

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

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