Quitada ブログ HAX

Hatena Blog でも Quitada ブログ

MapReduce - Master-Worker 型の検索エンジン特化型並列プログラミングフレームワークと理解

IBM 開催のセミナ「IBM IT VISION 3」に参加して、クラウドコンピューティングなお話をきいたのですが、その中で、MapReduce について言及されてたので気になってヤホーとかゴーグルで調べてみました。

結論からすると、@ITの以下の記事がわかりやすい感じがします。

Google の MapReduce アルゴリズムを Javaで理解する

これを見る感じ、Master-Worker 型の並列プログラミングフレームワークを Map 処理と Reduce 処理の 2 段階で行っているようなイメージで、数ある並列プログラミングフレームワークの一つといってしまえばそれまででして。ここらへんの認識に関しては、以下のサイト様が詳しいです。

Radium Software Development - MapReduce

ただ、MapReduce のすごいところは、並列プログラミングの知識がない人でも簡単にそのパワーが享受できるところのようですね。たしかに、簡単そう。

ちなみに、IBM IT VISION 3 のクラウドコンピューティングネタで MapReduce が言及されていた理由としてはやはり流行りもあるし、MapReduce のような並列プログラミングフレームワークを使って作ったアプリケーションは、実際並列で動かして「速い!」を実感するにはマシンがたくさん必要で、で、クラウドから MapReduce を試してみるため、必要なマシン環境を Web GUI からリクエストするとあたかもサービスであるかのように MapReduce が動かせる環境があっという間にそろってしまうんです!ということを言いたかったようです。

#結局、その仕組みの裏で動いているのは Xen で、必要なマシン環境がすぐに揃うのは Xen のような仮想マシンモニタの VM イメージであらかじめ用意されているからであり、クラウドコンピューティングがすごいというより、Xen がすごいと思いました。そういう意味で、クラウドコンピューティング仮想マシンモニタ、みたいな図式であまり目新しい感じはしなかったですが> IBM IT VISION 3。

話がそれてしまいましたが、仕事で金融グリッドやっており、並列プログラミングフレームワークには最近目がない quitada でした。

なお、MapReduceオープンソース実装としては、Apache Hadoop というのがあるそうで。

なお、Amazon とか検索しても Apache Hadoop 関連の書物がないので、書くなら今がチャンス!?