すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Trino

最終更新日:Aug 15, 2026

Trino (旧称 PrestoSQL) は、インタラクティブな分析向けのオープンソースの分散 SQL クエリエンジンです。E-MapReduce (EMR) バージョン 3.44.0 および 5.10.0 以降、EMR では公式コミュニティ名である Trino を採用しています。これより前のバージョンでは、コンソールに Presto という名前が表示されていましたが、基盤となるエンジンはすでに Trino でした。

基本的な機能

Trino は Java で開発されており、高性能なインタラクティブな分析向けに設計されています。次の機能をサポートしています:

  • ANSI SQL への完全準拠。

  • コネクターを介した幅広いデータソース。以下を含みます:

    • Hive

    • Cassandra

    • Kafka

    • MongoDB

    • MySQL

    • PostgreSQL

    • SQL Server

    • Redis

    • Redshift

    • ローカルファイル

  • 高度なデータ構造。以下を含みます:

    • 配列とマップ

    • JSON データ

    • GIS データ

    • カラー データ

  • 複数の仕組みによる拡張性。以下を含みます:

    • 拡張データコネクター

    • カスタムデータ型

    • カスタム SQL 関数

  • クエリ結果をリアルタイムでクライアントにストリーミングするパイプライン処理。

  • 複数のインターフェイスによるモニタリング:

    • クエリ実行の進捗を可視化する Web UI。

    • JMX プロトコル。

システムコンポーネント

次の図は、Trino のシステムコンポーネントを示しています。Presto系统组成

Trino クラスターは、コーディネーター/ワーカーノードアーキテクチャを使用します。コーディネーターはクライアントから SQL クエリを受け取り、解析と計画を行い、生成されたタスクをワーカーノードに分散します。コーディネーターは以下を処理します:

  • ユーザークエリの受け付け、解析、実行計画の生成、およびタスクのワーカーノードへの分散。

  • ワーカーノードのステータス監視。各ワーカーノードは、ステータスを報告するためにコーディネーターとのハートビート接続を維持します。

  • メタストアデータの維持。

ワーカーノードは、分散タスクを実行します。コネクターを使用して外部ストレージシステムからデータを読み取り、データを処理し、結果をコーディネーターに返します。

ユースケース

Trino は、オンライン分析処理 (OLAP) ワークロード (データ分析、大規模な集計、レポーティング) 向けに構築されています。以下の用途に適しています:

  • 抽出、変換、ロード (ETL)

  • アドホッククエリ

  • 大規模な構造化データまたは半構造化データの分析

  • 大規模な多次元データの集計およびレポート分析

重要

Trino は汎用のリレーショナルデータベースではなく、MySQL や PostgreSQL などのシステムの代替にはなりません。トランザクションのサポートは限定的であるため、オンライントランザクション処理 (OLTP) やその他のトランザクションワークロードには適していません。

メリット

E-MapReduce (EMR) 上の Trino には、オープンソースの Trino と比べて次の利点があります:

  • すぐに使用できるクラスター。セットアップ不要で、数百ノードの Trino クラスターを数分で起動できます。

  • シンプルなエラスティックスケーリング。

  • EMR ソフトウェアスタックとのシームレスな統合、および Object Storage Service (OSS) に保存されたデータのサポート。

  • 運用保守 (O&M) が不要なフルマネージド運用。

用語

データモデル

Trino は、カタログ、スキーマ、テーブルの 3 階層でデータを整理します。

  • カタログ

    カタログは、コネクターを介して外部データソースにマッピングされ、1 つ以上のスキーマを含みます。単一のクエリは複数のカタログにまたがることができます。

  • スキーマ

    スキーマはデータベースインスタンスに相当し、複数のテーブルを含みます。

  • テーブル

    テーブルは、標準的なリレーショナルデータベースと同じように機能します。

コネクター

コネクターは、データベースドライバーと同様に、Trino を特定のデータソースに適合させます。各カタログは 1 つのコネクタータイプにバインドされ、カタログのプロパティファイルで設定されます。

Trino は、任意のデータソース向けにカスタムコネクターを構築するために実装できる標準の サービスプロバイダーインターフェイス (SPI) を提供します。Trino には、データソースタイプ別にグループ化された複数の組み込みコネクターも同梱されています:

  • データレイクおよびレイクハウス: Hive およびその他の Hadoop 互換ソース

  • リレーショナルデータベース: MySQL、PostgreSQL、SQL Server

  • その他のシステム: Cassandra、Kafka、MongoDB、Redis、Redshift、およびローカルファイル

詳細情報

オープンソースの Trino ドキュメントを表示するには、URL https://trino.io/docs/3XX/ 内のバージョン番号を Trino のコンポーネントバージョンに置き換え、ブラウザーでリンクを開きます。

たとえば、Trino のバージョンが 331 の場合は、https://trino.io/docs/331/ を使用します。詳細については、「Trino 331 Documentation」をご参照ください。