大規模なデータを分散処理するための技術と言えばMapReduceだ。通常の企業では難しい、数万台のネットワークコンピューティングを駆使したデータ処理を可能にするGoogleの根幹をささせる一技術になっている。

ピクチャ 177.png

処理の一覧

 

そんなMapReduceはオープンソースで実装されるものもあるが、本格的に実装するにはハードウェアやインフラの存在が必要になる。だが、これを使えばハードウェアも無用でMapReduceを体感できる。

今回紹介するオープンソース・ソフトウェアはHTTPMR、Google App Engine上で動作するMapReduce実装だ。

HTTPMRはGoogle App Engine上で動作するライブラリで、HTTPベースでMapReduceのように分散処理を行えるようになる。リクエストはランダムに選ばれたコンピュータ上で実行される。各リクエストは数秒でタイムアウトするようになっている。

ピクチャ 176.png

各処理はごく短く、ごく簡単

 

またコードによってアクセスできるストレージシステムの存在、各データをユニークな識別子を持たせる機能、各ストレージは以上、以下といった範囲での処理を可能にできるようになっている。

各ジョブはwgetのようなHTTPリクエストによって制御ができる。Google App EngineではGoogleの超大規模なインフラを活用できる。HTTPMRを使えばさらに大規模なデータ分散処理ができるようになるはずだ。

 

httpmr - Google Code

 http://code.google.com/p/httpmr/