

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Trino の履歴と設計
<a name="emr-trino-intro-history"></a>

Trino は、さまざまなソースからの大規模なデータセットのクエリに特化しています。Trino は、従来のビッグデータユースケースで HDFS にアクセスしてクエリを実行できますが、リレーショナルデータベースや NoSQL データベースなどの追加のソースをクエリすることもできます。Trino は、2019 年に Presto クエリエンジンのフォークとして開始されました。それ以来、Presto コードベースとは独立して開発されています。

Trino クエリエンジンとその使用方法の詳細については、[Trino ウェブサイト](https://trino.io/)を参照してください。Trino のソースドキュメントを読むには、「[Trino Overview](https://trino.io/docs/current/overview.html)」を参照してください。

## アーキテクチャの概念
<a name="emr-trino-intro-architecture"></a>

Trino はクラスター全体でデータを並行して処理するため、迅速かつ効率的なクエリを実行できます。これは、データレイクのクエリを念頭に置いて設計されています。これは、通常、Hadoop と HDFS を含むユースケースにおける、大規模なデータボリュームに対するクエリに特化しているためです。ただし、従来のリレーショナルデータベースをクエリすることもできます。詳細については、「*Trino Documentation*」の「[Architecture](https://trino.io/docs/current/overview/concepts.html#architecture)」を参照してください。

### Trino のコンポーネント
<a name="emr-trino-key-components"></a>

Trino には、クエリの実行を高速化するために連携する主要なアーキテクチャコンポーネントがいくつかあります。パフォーマンスを向上させるためにクラスターを微調整することにより、これらに関する実用的な知識が得られます:
+ **コーディネーター**はクエリオーケストレーションを担当します。受信 SQL クエリの解析と最適化、実行計画の生成、ワーカーノードへのタスクの割り当て、クエリ結果の収集とアセンブルを行います。さらに、リソースの使用状況を監視し、ワーカーノードのステータスを追跡します。詳細については、「*Trino documentation*」の「[Coordinator](https://trino.io/docs/current/overview/concepts.html#coordinator)」を参照してください。
+ **ワーカーノード**はクエリに対するデータ処理を担当します。コーディネーターがタスクを割り当てると、ワーカーはデータを取得し、結合や集計などの必要な操作を実行し、中間データを他のワーカーと交換します。詳細については、「*Trino documentation*」の「[Worker](https://trino.io/docs/current/overview/concepts.html#worker)」を参照してください。
+ **コネクタ**は、Trino がさまざまなデータソースに接続してクエリできるようにするプラグインです。各コネクタは、Amazon S3、Apache Hive、リレーショナルデータベースなど、ソースからデータにアクセスして取得する方法を知っています。これらのコネクタは、ソースデータを Trino のスキーマ構造にマッピングします。
+ **カタログ**は、特定のコネクタに関連付けられたスキーマとテーブルの論理コレクションです。コーディネーターで定義されるカタログにより、Trino はさまざまなデータソースを単一の名前空間として扱うことができます。これにより、ユーザーは同じクエリで統合された方法で Hive や MySQL などの複数のソースを一緒にクエリできます。
+ Trino CLI などの**クライアント**は、JDBC および ODBC ドライバーを使用して Trino コーディネーターに接続し、SQL クエリを送信します。コーディネーターはクエリのライフサイクルを管理し、さらなる分析やレポート作成のために結果をクライアントに提供します。

### クエリの実行
<a name="emr-trino-queries"></a>

Trino が SQL ステートメントを受け取り、クエリとして実行する方法については、「*Trino Documentation*」の「[Trino concepts](https://trino.io/docs/current/overview/concepts.html#query-execution-model)」を参照してください。