Prestoとは?
ぷれすと
Prestoとは、大規模な分散データソースに対してインタラクティブなSQLクエリを高速実行するオープンソースのエンジンのことです。
Presto(現在は「Trino」として継続開発)は、Facebookが開発し2013年にオープンソース化した分散SQLクエリエンジンです。複数の異なるデータソース(HDFS、S3、MySQL、PostgreSQL、Kafkaなど)に対して、データを移動させることなくSQLで横断的にクエリを実行できる「フェデレーテッドクエリ」の先駆け的存在です。
PrestoはMapReduceを使わず、メモリ上で処理を完結させるパイプライン実行モデルを採用しています。これにより、Hiveと比較して数倍から数十倍のクエリ応答速度を実現し、インタラクティブなデータ分析に適しています。
Prestoが採用される主な場面:
- データレイク上のPetabyteクラスのデータへのアドホック分析
- 複数のデータベースをまたいだJOINクエリ(フェデレーテッドクエリ)
- BIツールのバックエンドエンジンとしての利用
- Amazon AthenaはPrestoをベースに構築されています。
2019年にFacebookとPrestoオリジナル開発者の間でガバナンスの問題が生じ、後者がTrinoとしてフォーク。現在はTrinoが主流のコミュニティとなっています。PrestoDB(Facebook管理)とTrino(コミュニティ管理)の2系統が存在する点に注意が必要です。
使い方・例文
HadoopのHDFSとAmazon S3に分散して保存された数十TBのログデータを、単一のSQLでJOINして分析する際にPrestoを使うと、Hiveよりも大幅に短い時間で結果が返ってきます。
この用語をシェア
最終更新: