Skip to content
Last updated

クエリについて

Treasure Dataは、SQLコマンドを使用する2つのクエリエンジンと、企業が定義した属性および動作フィルターを使用してデータをフィルタリングできる事前定義されたクエリインターフェースを使用しています。これらはすべてTD Consoleで利用できます。2つのクエリエンジンはPrestoとHiveで、これらのクエリエディターはData Workbenchの「Queries」にあります。事前定義されたクエリインターフェースは、Audience Studioの「Master Segments」にあります。

Treasure Dataのクエリ

クエリは、データベースから情報を要求するものです。Treasure Dataでは、クエリを使用して、組織がアクセスできるさまざまなファーストパーティ、セカンドパーティ、サードパーティのデータソースから、顧客の行動についての定期的なインサイトを得ることができます。定期的にスケジュールされたクエリを作成して、定期的に特定の情報を更新したり、顧客の特定時点のスナップショットを提供するクエリを作成したりできます。

Audience StudioのQuery UIの代わりにPrestoまたはHiveを使用することで、よりカスタマイズされたクエリが可能になります。

クエリエンジンとしてのPresto

Prestoは、データ探索に役立つ短いインタラクティブクエリ向けに設計されています。業界標準のANSI SQL方言を使用しています。

Hiveよりも優れたリアルタイム結果を提供しますが、大量のデータの処理では高いレイテンシがあります。さらに、メモリ容量にいくつかの制限があるため、クエリするデータがそのメモリ容量を超えると、クエリは失敗します。同時に、Hiveよりも10〜30倍高速にクエリを処理します。

では、Prestoをいつ使用するのでしょうか?

小規模から中規模のクエリがあり、特定のアドホックまたは探索的なクエリの即時結果が必要な場合です。

Prestoでクエリを記述する方法については、こちらのPrestoクエリエンジンについてを参照してください。

クエリエンジンとしてのHive

Hiveは、バッチ処理と定期的にスケジュールされたクエリに適しています。大量のデータに関しては、クエリレイテンシが低いですが、処理時間が遅いため、小規模なアドホッククエリや探索的クエリには適していません。Hiveは、99.9%の確率で最後まで実行されることが重要なクエリに適しています。これは、より高い耐障害性を持ち、エラーが発生してもクエリ全体を再実行する必要がないためです。HiveはHiveQLと呼ばれるSQL言語の方言を使用しています。HiveQLには、特に多数のテーブルをクエリするユースケースに役立つ多くの優れた機能がありますが、Prestoほど完全で馴染みのある機能セットはありません。

では、Hiveをいつ使用するのでしょうか?

大規模なクエリがあり、即時結果が必要ない場合、および定期的にスケジュールされたクエリがある場合です。

Hiveでクエリを記述する方法については、こちらのHiveクエリエンジンについてを参照してください。