Apache Drill

大規模データセットの対話型分析のための分散アプリケーションをサポートするオープンソースのソフトウェアフレームワーク From Wikipedia, the free encyclopedia

Apache Drillは、大規模データセットの対話型分析のための分散アプリケーションをサポートするオープンソースソフトウェアフレームワークである。GoogleのDremelシステムはGoogle BigQueryという名称でInfrastructure as a Serviceとして利用可能であるが、DrillはDremelのオープンソースバージョンである。Drillは10,000台のサーバもしくはそれ以上の規模までの拡大が可能であり、数テラバイト、数兆レコードのデータを数秒で処理できることが設計目標に明記されている。DrillはApacheトップレベルプロジェクトの1つである[2]

Drillは多様なNoSQLデータベースやファイルシステムをサポートしており、これにはHBaseMongoDBMapR-DB、HDFSMapR-FSAmazon S3Azure Blob StorageGoogle Cloud StorageSwiftNAS、ローカルファイルシステムが含まれる。単一のクエリで複数のデータストアからのデータを結合することが可能である。例えば、MongoDBのユーザープロファイルのコレクションをHadoopのイベントログのディレクトリと結合することができる。

Drillのデータストアを意識したオプティマイザは、データストア内部の処理能力を活用するように自動的にクエリプランを再構築する。これに加えて、Drillとデータストアが同じノード上にあればDrillはデータ局所性をサポートする。[3]

Apache Drill 1.9では動的なユーザー定義関数が追加された。

Apache Drill 1.11では暗号関連関数とPCAPファイルフォーマット対応が追加された。

特徴

  • MongoDBElasticsearchに似た、正式なスキーマの宣言を必要としない、スキーマ不要のJSONドキュメントモデル
  • 業界標準API: ANSI SQL、ODBC/JDBC、RESTful API
  • ユーザおよび開発者にとって非常に扱いやすい
  • プラガブルアーキテクチャにより複数のデータストアに接続が可能

サポート

DrillはApache HadoopテキストファイルやNoSQL、クラウドストレージなどの非リレーショナルデータストアに主に重点を置いている。次のデータストアがサポートされている:

  • Apache Hadoop、MapR、CDH、Amazon EMRを含むすべてのHadoopディストリビューション(HDFS API 2.3以降)
  • NoSQL: MongoDBApache HBase
  • クラウドストレージ: Amazon S3Google Cloud Storage、Azure Blob Storage、Swift
  • Apache AvroApache Parquet英語版JSONを含む複数のデータ形式の扱い
  • RDBMSストレージプラグインのサポート(JDBCを使った接続)

ストレージプラグインを開発することで、新しいデータストアを追加することができる。Drillの「スキーマ不要の」JSONデータモデルにより、非リレーショナルデータストアをその場で検索可能である[4]

関連項目

脚注・出典

論文

外部リンク

Related Articles

Wikiwand AI