「何番煎じか分からないけど集合知プログラミングをPHPでやってみたシリーズ」で扱っている集合知プログラミングは、とかく計算量が多くなりがちで、うまくアルゴリズムを作らないとメモリ不足に陥りがちです。 現に前回の記事では、その越えられない壁を体験してしまったので、「どげんかせんといかん。」という事で、最近ちょっと興味のある、Googleのバックエンドでも使われている"MapReduce"に関して少し調べてみました。 "MapReduce"に関しては、「"Googleを支える技術"読め。以上。」でもいいんですが、id:naoyaさんが書かれている記事が非常に分かりやすかったので、その記事のリンクを貼っておきます。 →MapReduce - naoyaのはてなダイアリー "Googleを支える技術"もせっかくだからAmazonのリンクを貼っておきます。 Googleを支える技術 ?巨大システムの
"MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く