fairyの出発点はGoogleの「MapReduce」技術
―――次に、fairyについてはどのような状況なのですか。
森:fairyには議論しなければならないことがたくさんあります。かなり大変です。私たちとしては、統計処理やクラスタ分析(データマイニングの手法のひとつ)など典型的な問題を直感的に分かりやすく記述しながら分散していく、その記述方法を整理している段階です。
まつもと:fairyの出発点には、Googleが提案した「MapReduce」があります。これはGoogleが2003年に提示し、実際に内部でも使っている技術です。Mapとは、データの並びを処理して、それを別のものに置き換えていく(単純化していく)ことで、ReduceとはMapしたものを集約していくことです。
―――もう少し具体的に教えてください。
まつもと:GoogleはMapReduceの使用例として、単語がそれぞれ何回登場するかを数える処理を挙げています。Googleには世界中から集めたWebページがり、そのデータ量は膨大なものになります。その中で単語がいくつあるかを数えるとき、複数のデータセンターに分散してある情報に対して、多数のノードを使って、並列に単語とその数のペアを作るように命じます。すると、多数の単語と数のペアができます。この段階では見つけた単語から順にペアを作っているので、同じ単語に対するペアが複数できています。
次の段階で、作られた単語と数のペアを見て、同じ単語についてのペアならば数を合計し、ペアを集約していきます。例えば、「まつもと 1」というペアが3つあれば、「まつとも 3」にするわけです。これを繰り返していくと、最終的に全部のWebページを通じて各単語の登場回数が分かります。
同様のことを一般的なプログラミングモデルだと、データを上から順に処理していくことになります。MapReduceは、割り当てられた範囲で単語数を出すという処理と、それらを集約する処理を定義することで、コントローラは大量のデータに対して、分散して処理させるように作業を割り当てることができます。
楽天で行なっている分散処理の応用分野について調べたところ、統計処理や画像の変形、特徴量の抽出といったことが挙がりました。これらはMapReduceには、なじみにくい処理です。それで、もう少し違うモデルでできないか、ここ1年ぐらい議論し続けていました。最近ようやく、どうすればいいのかが見え始めてきたところです。
この連載の記事
-
第68回
ビジネス
『オバマ現象のからくり』(田中慎一) -
第67回
ビジネス
AMN新社長“ブロガー”徳力氏に聞く -
第66回
ビジネス
「完璧な上司なんて、いませんよ」 -
第65回
ビジネス
フランソワ・デュボワ 『デュボワ思考法』 -
第62回
ビジネス
こんなに差が出た! 30代給料の現実 -
第59回
ビジネス
地下巨大施設! プロジェクトは成功した -
第56回
ビジネス
エンジニアの秘められた家族生活 -
第55回
ビジネス
IT業界で10年泥のように働いてませんよ -
第54回
ビジネス
カシオG'zOneのデザインが変わったワケ -
第52回
ビジネス
“変わり種商品”に隠れたビジネス戦略 -
第52回
ビジネス
日本の家電ベンチャー、異例の存在 - この連載の一覧へ