MapReduce:大規模なクラスターでのデータ処理の簡略化

MapReduceは、大きなデータセットを処理および生成するためのプログ ユーザーは、キー/値ペアを処理して中間キー/値ペアのセットを生成するmap関数と、同じ中間キーに関連付けられたすべての中間値をマージするreduce関数を指定します。 論文に示されているように、このモデルでは多くの現実世界のタスクが表現可能です。

この機能スタイルで書かれたプログラムは、自動的に並列化され、コモディティマシンの大規模なクラスタ上で実行されます。 ランタイムシステムは、入力データの分割、一連のマシン間でのプログラムの実行のスケジュール、マシンの障害の処理、必要なマシン間通信の管理の詳細を処理します。 これにより、並列および分散システムの経験がないプログラマは、大規模な分散システムのリソースを簡単に利用することができます。

私たちのMapReduceの実装は、コモディティマシンの大規模なクラスタ上で実行され、非常にスケーラブルです:典型的なMapReduce計算は、何千ものマシン上で多くのテラバイト 何百ものMapReduceプログラムが実装されており、Googleのクラスターでは毎日千以上のMapReduceジョブが実行されています。