Presto SQL(現在はTrino)は、ビッグデータ分析クエリエンジンのパワーをもたらします

ビッグデータ処理は、このデジタル時代の重要な側面の1つです。 企業は、より多くのデータを生成および収集する、より多くの人工知能、機械学習、およびデータ分析を使用しています。 したがって、結果として 大量のデータ これは、効率的に照会および分析する必要があります。

ここで、クラウドコンピューティングとPrestoが役立ちます。

目次見せる
Prestoとは何ですか?
重要な概念
サーバーの種類
Prestoはクエリをどのように処理しますか?
Prestoを使用する利点
1. 簡単な統合
2. より高速なパフォーマンス
3. クラウド向けに設計
4. 統合SQLインターフェイス
Prestoは何に使用できますか?
データレイク分析
アドホッククエリ
バッチETL

Prestoとは何ですか?

Amazon AWSの定義によると:Prestoは分散SQLクエリエンジンであり、あらゆるサイズのデータ​​セットに対して高速な分析クエリを実行するために作成されています。 プロジェクトをPrestodbから分離するために、2020年の終わりにTrinoとしてブランド名が変更されました。

Prestoにはオープンソースであるという利点があります。つまり、定期的に更新され、開発者は頻繁に貢献します。

Prestoプラットフォームは 非リレーショナルデータソース お気に入り:

  • Amazon S3
  • Hadoop
  • HDFS
  • MongoDB
  • HBase

リレーショナルデータベース お気に入り:

  • 私のスペース
  • PostgresSQLと
  • MS SQL Server

プレスト、データが保存されている場所ならどこでもクエリを実行できます。 つまり、データをリレーショナルデータベースやデータウェアハウスに転送する必要はありません。 PrestoはSQL用に作成され、標準のSQLセマンティクスをサポートしています。 これには、サブクエリ、複雑なクエリ、外部結合、個別のカウント、および概算パーセンタイルが含まれます。

クエリの実行も、メモリベースのアーキテクチャと並行して実行されるため、高速です。 したがって、大規模なデータベースのクエリにかかる時間を心配する必要はありません。 結果は数秒で返されます。

学び Prestoをデプロイする方法 およびそのドキュメントのアーキテクチャ。

また読む: Windows 10でデバイスドライバーを更新する方法は? {簡単なガイド}


重要な概念

SQLの主要な概念は広く知られています。 Prestoがどのように機能するかを理解するには、まずそのコアコンセプトを理解する必要があります。

サーバーの種類

Prestoは2つのサーバータイプを使用します: コーディネーター サーバーと 働く人 サーバ。 ワーカーノードはクエリを処理し、コネクタからデータをフェッチします。 コーディネーターは結果をフェッチしてクライアントに送信します。 コーディネーターサーバーは、ステートメントを解析し、ノードを管理します。

これは、超並列処理データベース管理システムと同様に機能します。

超並列処理データベース管理システム画像ソース:tutorialspoint

Prestoはコネクタを使用して、分散システムとソース(Amazon S3など)をリンクします。 Prestoの多数のコネクタは、リレーショナルおよび非リレーショナルソースに接続されているため、システムをほぼすべてのデータソースに拡張できます。

また読む: Windows 10、8、7でドライバーを更新する方法–デバイスドライバーを更新する


Prestoはクエリをどのように処理しますか?

prestoはクエリを受信すると、それを複数のステージに分割して実行します。 通常、システムはルートステージと関連ステージを作成します。 次に、ステージはワーカーノード全体のタスクに分散されます。


Prestoを使用する利点

Prestoは、Netflix、Facebook、Atlassian、Airbnbなどの大企業で非常に人気があります。 たとえば、FacebookはPrestoを使用して毎日1ペタバイトのデータを処理し、3万を超えるクエリを実行しています。

Prestoには、PrestoSQL(現在はTrinoと呼ばれています)とPrestoDBの2つの別個のオープンソースプロジェクトが含まれています。 これは、さまざまなタイプのデータレイクやデータウェアハウス全体で、さまざまなユースケースで非常に人気があります。 Prestoを非常に人気のあるものにするいくつかの利点を見てみましょう。

1. 簡単な統合

Prestoの主な利点の1つは、変更を加えることなく既存のデータシステムと統合できることです。 したがって、Prestoを追加することで、既存のシステムを微調整することなく、高速な分析機能を追加できます。

2. より高速なパフォーマンス

Prestoが開発された理由の1つは、既存のApacheHiveがインタラクティブクエリでうまく機能しなかったためです。 Prestoは、インタラクティブなBIクエリを処理するように設計されています。 さらに、プッシュモデルに従い、複数のステージを同時に使用してSQLクエリを処理します。つまり、すべてのステージがステージ間で待機することなくパイプライン化されます。

Prestoは、ディスクにデータを書き込む必要なしに、メモリからメモリへのデータ転送も行うため、パフォーマンスが向上します。

3. クラウド向けに設計

Prestoはストレージを実行し、個別に計算するため、クラウド環境に非常に適しています。 PrestoSQLを使用している企業は、データを失うことなく、負荷に応じて簡単にスケールアップまたはスケールダウンできます。 これは、Prestoクラスターがデータを保存しないために発生する可能性があります。

4. 統合SQLインターフェイス

SQLは、データ分析で最も人気のある言語です。 データサイエンティスト、アナリスト、エンジニアは、SQLを使用してデータの処理、分析、テストを行い、データをビジネスインテリジェンスツールと統合します。

Prestoには、SQLソースからだけでなく、ElasticsearchやCassandraなどのNoSQLデータベースからのデータをクエリする機能があります。 ANSI-SQLおよびPostgres接続をサポートします。 これにより、Prestoは他の分散システムにはない汎用性を実現します。

インターフェースは同じであるため、中規模のデータに最適です ウィンドウ関数 PostgreSQLが持っていること。

また読む: Windows10でグラフィックスドライバーを更新する方法{シンプルガイド}


Prestoは何に使用できますか?

Prestoは、さまざまなユースケースでさまざまな業界で使用されています。 これは、アドホックでインタラクティブなクエリに特に適しています。 いくつかの一般的な使用例を見てみましょう。

データレイク分析

PrestoSQLを使用すると、データを変換しなくても、データレイク上のデータをクエリできます。 Prestoを使用すると、データが置かれている場所でデータをクエリできます。 したがって、これを使用して、構造化データと非構造化データをクエリすることにより、データレイク分析を強化できます。

アドホッククエリ

Prestoを使用すると、データの場所に関係なく、いつでもクエリを実行できます。 さらに良いことに、Prestoコネクタを使用すると、チームはさまざまなデータソースのデータセットにアクセスでき、クエリは数時間ではなく数秒で実行されるため、システムのパフォーマンスが向上します。

バッチETL

従来のバッチ処理システムを使用する代わりに、Prestoを使用して、リソースに対して効率的なクエリを実行できます。 複数のデータソースからのデータを集約し、高スループットのクエリを実行できます。

要約すると、Prestoには、大量のデータを処理し、アドホックでインタラクティブなクエリを実行し、異種のデータソースから分析を実行する必要がある企業にとっていくつかの利点があります。