タグ

MapReduceに関するpeo3のブックマーク (2)

  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • Skynet−新しいRubyのMapReduce

    データ処理を分散させるMapReduce設計パターン(source)が2004年にGoogleによって導入され、それにはC++の実装がついてきた。今では、Adam Pisoni氏(サイト・英語)がSkynet(サイト・英語)という名称でリリースした新しいRubyでの実装版が利用可能だ。 Skynetは順応性があり、自動アップグレード機能付きで耐障害性の完全分散型システムで、単一障害点は皆無です。 GoogleのデザインペーパーとSkynetには著しく重要な相違点が2つある。 Skynetが生コードをワーカーに送れないこと。 Skynetはピア・リカバリシステムを利用しており、ワーカーがお互いを監視していること(サイト・英語)。 理由が何であれワーカーが故障する、あるいは機能しなくなると、別のワーカーが気付いて、そのタスクを引き継ぎます。また、Skynetには特別な「マスター」サーバは存在せ

    Skynet−新しいRubyのMapReduce
  • 1