Skip to content
Last updated

クエリについて

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

Treasure Dataのクエリ

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

以下のインターフェースからクエリを実行できます:

  • TD Console
  • API
  • JDBC/ODBC
  • スケジュールされたクエリ
  • ホストされたワークフロー実行フレームワーク

すべてのクエリはジョブとして管理され、各ジョブに対してクエリエンジンを指定できます。

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

Info

Trinoクエリエンジンは、2021年のリブランディング以前はPrestoSQLまたは単にPrestoとして知られていました。Treasure Dataは以前のバージョンのPrestoをいくつかサポートしていました。新しいバージョンのPrestoは現在Trinoブランディングでサポートされており、Trino 423のサポートが導入されています。当面の間、Treasure Dataのドキュメントでは、PrestoとTrinoの両方が使用されます。新しい機能や機能はTrinoとして識別されます。ただし、PrestoとTrinoの両方に共通する既存の機能については、引き続きPrestoとして識別されます。

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

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

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

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

Trinoの詳細については、Trinoクエリエンジンについてを参照してください。

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

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

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

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

Hiveの詳細については、Hiveクエリエンジンについてを参照してください。

TrinoとHiveの特性とユースケース

  • Trino : Trinoは高速でインタラクティブなクエリ向けに設計されています。Trinoはレイテンシに最適化されています。その実行モデルはプッシュモデルと呼ばれます。

  • Hive : オープンソースのHadoopプラットフォームにおける大規模データシステムのクエリ用に設計されています。Hive 2023.1はSQL風のクエリをTezジョブに変換し、非常に大量のデータの実行と処理を容易にします。Hiveはクエリのスループットに最適化されています。その実行モデルはプルモデルと呼ばれます。

TrinoHive
最適化対象インタラクティビティスループット
SQL標準化の忠実性ANSI SQLに準拠するように設計されているHiveQL (一般的なデータウェアハウスSQLのサブセット)
大規模JOINスタースキーマジョイン (1つの大きなファクトテーブルと多数の小さなディメンションテーブル) に最適化大規模なファクト間ジョインに非常に優れている
最大クエリ長1MBハードリミットなし