現在、市場には数多くのSQLクエリエンジンが存在します。開発者は常に、実用的かつ効率的なSQLエンジンを求めています。その中でも、Apache DrillとPrestoは、特に高い人気を誇るエンジンです。では、一体何がこれら2つのエンジンをそれほど優れたものにしているのでしょうか?また、どのような基準で一方を選び、もう一方を選ばない(あるいはその逆の)判断を下すべきなのでしょうか?Apache Drill対Presto、その実力はいかに?
どちらのエンジンを採用すべきかを決定するにあたっては、両者を比較検討することが不可欠です。そこで、具体的な比較に入る前に、まずはそれぞれのエンジンの概要から見ていくことにしましょう。
Apache Drillとは?
Apache Drillは、スキーマフリーなSQLクエリエンジンです。数多くのHadoopやNoSQLストレージシステムに対応しています。
Apache Drillは、分散アプリケーションにおけるインタラクティブな分析を支援する、オープンソースのフレームワークです。
そのプラグイン可能なアーキテクチャにより、複数のデータストアを接続することが可能です。また、ユーザーや開発者にとって使いやすいUIも備えています。
レビュー:
TrustRadiusにおけるApache Drillの平均推奨度は、10点満点中8.9点となっています。同サイトのユーザーから寄せられたレビューの一部は、以下の通りです。
- サードパーティ製ツールとの連携は容易で、何ら煩わしさがありませんでした。
- 設定作業がやや複雑です。
Prestoとは?
Prestoは、ビッグデータ向けに開発された、高性能かつオープンソースの分散クエリエンジンです。当初はFacebookによって開発され、同社のデータウェアハウス上で大規模なクエリを実行するために利用されていました。
しかし、2019年1月には「Presto Software Foundation」が設立されました。現在、PrestoDBはFacebookによって、PrestoSQLはこの財団によってそれぞれメンテナンスされています。
Prestoは、コミュニティ主導で開発・運営されているオープンソースソフトウェアです。Prestoのクエリを一度実行するだけで、異なる複数のデータソースからデータを取得することが可能です。
レビュー:
TrustRadiusにおけるPrestoの推奨度は、平均で10点満点中6.6点となっています。同サイトに寄せられたレビューの一部を以下にご紹介します。
- ANSI SQLに準拠しているため、データ移行を容易に行うことができる。
- ユーザー側でクエリの優先順位を制御できないため、リソースの割り当てが課題となる場合がある。
Apache DrillとPrestoの簡易比較
Apache DrillとPrestoは、どちらも非常に人気のあるツールです。両者ともSQLクエリエンジンですが、いくつかの相違点があります。
Apache Drillは、リレーショナル型以外のデータストアに対してもクエリを実行することができます。データを変換することなく、ネストされたデータストアをそのまま扱えるという柔軟性を提供します。
一方、Prestoは、ビッグデータに対してインタラクティブな分析クエリを実行するために開発されました。Prestoは、ペタバイト級の規模にまで拡張可能なクエリを実行したいと考えるアナリスト層を主なターゲットとしています。
Apache Drillは「データベースツール」に分類されるのに対し、Prestoは「ビッグデータツール」に分類されます。
Apache Drillはドキュメントが充実しているものの、そのインストールや設定には時間を要する場合があります。対照的に、Prestoはより短時間で導入が可能であり、数分以内には利用可能な状態になります。
エンタープライズレベルでのサポート体制に関しては、Apache DrillはMapRによって、PrestoはTeradataによってそれぞれ支援されています。
Apache Drillをインストールするには、Red Hat® Enterprise Linux® (RHEL) 5、6、または7、あるいはCentOS 5、6、または7、もしくはSUSE Linux Enterprise Server (SLES) 11または12が必要です。必要なディスク容量はわずか90MBです。
一方、Prestoの場合は、ノードごとに最低16GBのRAM(メモリ)が必要です。最適なパフォーマンスを得るためには、64GBの搭載が推奨されます。クラスター内の全ノードにおいて、最低10Gbpsのイーサネット接続が必須となります。なお、Prestoは、標準的な構成が施されたHadoopクラスターであれば、どのような環境にもインストールが可能です。
Apache DrillとPrestoの表形式比較

結論
Apache DrillとPrestoは、いずれも非常に優れたSQLクエリエンジンです。そのため、業界のプロフェッショナルたちにとって、これらが最有力候補であることは間違いありません。
両者にはいくつかの相違点があるものの、それぞれが極めて特定の機能や用途に特化しています。したがって、プロフェッショナルたちは、自身が遂行しようとしている業務内容や運用要件に基づき、最適なSQLエンジンを選択することになります。
しかし確かなのは、SQLクエリエンジンを選定する際、これらどちらを選んだとしても失敗することはないという点です。いずれのエンジンも、貴社のビジネスに計り知れないほどの価値をもたらしてくれることでしょう。




