Google の Dremel については、こちらで説明しています。Dremel と Mapreduce の違いは何ですか?
3 に答える
DremelとMapReduceは直接比較できるものではなく、補完的なテクノロジーです。
MapReduce は、データを分析するために特別に設計されたものではありません。むしろ、ノードのコレクションが大規模なデータセットの分散計算問題に取り組むことを可能にするソフトウェア フレームワークです。
Dremel は、大量の構造化されたデータセット (ログ ファイルやイベント ファイルなど) に対してクエリをすばやく実行するように設計されたデータ分析ツールです。SQL に似た構文をサポートしますが、テーブルの追加を除いて、読み取り専用です。更新または作成機能はサポートされておらず、テーブル インデックスも備えていません。データは「列」形式で編成されるため、クエリ速度が非常に高速になります。Google の BigQuery 製品は、RESTful API 経由でアクセスできる Dremel の実装です。
Hadoop (MapReduce のオープン ソース実装) と "Hive" データ ウェアハウス ソフトウェアを組み合わせることで、SQL スタイルの構文を使用して大規模なデータセットのデータ分析を行うこともできます。Hive は本質的にクエリを MapReduce 関数に変換します。ColumIO 形式を使用するのとは対照的に、Hive は、テーブルのインデックス作成などの手法を使用してクエリを高速化しようとします。
この記事をチェックしてください。Dremel は、Hive の未来がどうあるべきか (そしてそうなるか) です。
MapReduce とその上のソリューション (Pig、Hive など) の主な問題は、ジョブの実行と回答の取得の間に固有のレイテンシがあることです。Dremel はまったく新しいアプローチを採用しています (2010 年に Google の論文で発表されました)。
...アグリゲーター ツリーに基づく新しいクエリ実行エンジンを使用します...
...ほぼリアルタイムでインタラクティブなクエリとアドホックなクエリを実行しますが、どちらも MapReduce では実行できません。Pig と Hive はリアルタイムではありません
これから出てくるプロジェクトに注目する必要があります。私にとってもかなり新しいものです...他の専門家のコメントは大歓迎です!
編集: Dremel は、HIVEの将来(前述の MapReduce ではありません) のあるべき姿です。Hive は現在、MapReduce ジョブを実行するための SQL のようなインターフェイスを提供しています。Hive の待機時間は非常に長いため、アドホック データ分析には実用的ではありません。Dremel は、MapReduce とは異なる手法を使用して、非常に高速な SQL のようなインターフェイスをデータに提供します。
MapReduce は、問題を分割、分散、および結果を結合するための抽象アルゴリズムです。Dremel は、データセットのクエリと分析に特化したツールのようです。