米Facebook、ビックデータ向け分散SQLクエリエンジン「Presto」をオープンソースに
米Facebookは11月6日、大規模データに向けたJavaベースのSQLクエリエンジン「Presto」をオープンソースソフトウェアとして公開した。Hadoopと組み合わせて利用するもので、拡張性と速度を特徴とする。
Prestoは、Hadoopクラスタ上で管理している大規模なデータセットに対するクエリを実行するためのクエリエンジン。Facebook社内におけるインタラクティブなデータ分析のために作られたもので、Facebookのように急速に拡大する組織に合わせてスケールするように設計されているという。すでに300PBのデータウェアハウスを含む社内の複数のデータストアで利用されており、1000人以上の社員が毎日3万件以上のクエリをかけているという。一日にスキャンする量は合計で1PB以上とのこと。Facebook以外にも、米Dropbox、米Airbnbなどが利用している。
クエリはクライアントからコーディネーターを経由し、HDFS(Hadoop File System)とやりとりする各Workerにパーシングされる。Apache Hive、Apache HBase、リレーショナルデータベースなどのデータのクエリが可能で、プロプライエタリなデータストアも対象にできる。単一のクエリで複数のソースからのデータを組み合わせることも可能。Hiveの10倍高速化が図れるとしている。ANSI準拠のSQLクエリを利用、MapRedice非依存によりスケジュールも改善できると報告している。
PrestoのソースコードはプロジェクトのWebサイトから入手できる。Mac OS XまたはLinuxに対応し、ライセンスはApache License 2.0。実行にはJava 7(64ビット)とPython 2.4以上が必要。Hive向けのプラグインも用意する。
Presto
http://prestodb.io/