MapReduce
[Wikipedia|▼Menu]

MapReduce(マップリデュース)は、コンピュータ機器のクラスター上での巨大なデータセットに対する分散コンピューティングを支援する目的で、Googleによって2004年に導入されたプログラミングモデルである。

このフレームワーク関数型言語でよく使われるMap関数とReduce関数からヒントを得て作られているが、フレームワークにおけるそれらの用いられ方は元々のものと同じではない。

MapReduceのライブラリ群は、C++C#ErlangJavaOCamlPerlPythonPHPRubyF#R言語MATLAB等のプログラミング言語で実装されている。
概要

MapReduceは巨大なデータセットを持つ高度に並列可能な問題に対して、多数のコンピュータ(ノード)の集合であるクラスター(各ノードが同じハードウェア構成を持つ場合)もしくはグリッド(各ノードが違うハードウェア構成を持つ場合)を用いて並列処理させるためのフレームワークである。処理は、ファイルシステム(非構造的)もしくはデータベース(構造的)に格納されたデータに対して行うことができる。

Map ステップ - マスターノードは、入力データを受け取り、それをより細かい単位に分割し、複数のワーカーノードに配置する。受け取ったワーカーノードが、更に細かい単位に分割し、他の複数のワーカーノードに配置するという、より深い階層構造の分割を行うこともある。そして、各ワーカーノードは、その細かい単位のデータを処理し、処理結果を、マスターノードへと返す。

Reduce ステップ - 続いて、マスターノードが、Mapステップでの処理結果を集約し、目的としていた問題に対する答え(結果)を何らかの方法によって出力する。

MapReduceの特徴は、MapとReduceの各ステップで並列処理が可能なことである。それぞれのMap処理は、他のMap処理と完全独立であり、理論的に全て並列実行することができる(実際には、データソースやCPUの数により制限がかかる)。続くReduceステップでは、Mapステップでの処理結果がキーごとにまとめられてReduce処理に送られることになるが、これも同様に並列処理が可能である。

MapReduce による一連の処理は、逐次実行アルゴリズムと比較してしばしば非効率にみえるが、MapReduce は一般の汎用サーバが取り扱うことが可能なデータ量をはるかに超える大きなデータセットに対しても適用することができる。多数のサーバを持っていれば、MapReduce を使いペタバイト級のデータの並べ替えをわずか数時間で行うことも可能である。

また、処理が並列的であることで、複数あるサーバやストレージの一部に障害が起こり、Map処理やReduce処理が実行できないノードが発生した場合でも、入力データがまだ利用可能である場合は、処理を再スケジュールして実行させることが可能となる。これにより、障害に対して、しばしば処理継続中のリカバリーが可能になる。
参考文献

日経BP出版局著 「クラウド大全 サービス詳細から基盤技術まで」2009年
ISBN 9784822283889

関連事項

Google

BigTable

エラー忘却型コンピューティング

Hadoop











Alphabet歴史サービス
企業

イベント・取り組み

Android

Developer Challenge

Developer Day

Developer Lab(英語版)


Doodle4Google

Code-in

Code Jam(英語版)

Developer Day(英語版)

Developers Live(英語版)

I/O

Lunar X Prize*

Science Fair(英語版)

Summer of Code

Talks at Google

取り組み・プロジェクト

ATAP(英語版)

ドラゴンフライ*

Made with Code(英語版)

Project Sunroof(英語版)

Cultural Institute

「邪悪になるな」

OKR


人物



デビッド・チェリトン

アル・ゴア

アラン・ユースタス

アラン・ムラーリー

アミット・シングハル(英語版)

アン・メイザー(英語版)

デビッド・ドラモンド(英語版)

エリック・シュミット

ジェフ・ディーン

ジョン・ドーア

ジョン・ハンケ

ジョン・ヘネシー

クリシュナ・バハラット(英語版)

マット・カッツ

パトリック・ピシェット

ポール・オッテリーニ

オミッド・コーデスタニ


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:30 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef