ビデオ: Hadoop Processing Frameworks 2024
MapReduceは大きなデータにますます役立つようになっています。 2000年代の初めに、Googleの一部のエンジニアは未来を調査し、ウェブクロール、クエリ頻度などの現在のアプリケーションのソリューションが既存のほとんどの要件に適していたにもかかわらず、予想された複雑さには不十分であったより多くのユーザーに拡大されたWebこれらのエンジニアは、仕事が安価なコンピュータに分散され、ネットワーク上で「クラスタ」の形で接続されると、問題を解決できる可能性があると判断しました。流通だけでは十分ではありませんでした。この作業の分配は、次の3つの理由で並行して実行する必要があります。
<! - 1 - >
処理は自動的に拡大および縮小できる必要があります。-
処理は、ネットワークまたは個々のシステムの障害に関係なく処理が可能でなければならない。
-
このアプローチを利用する開発者は、他の開発者が容易に活用できるサービスを作成できる必要があります。したがって、このアプローチは、データと計算がどこで実行されたかとは無関係でなければなりません。
-
<! MapReduceは汎用プログラミングモデルとして設計されています。いくつかの初期実装では、パラレル実行、フォールトトレランス、ロードバランシング、およびデータ操作のすべての主要要件が提供されていました。このプロジェクトを担当するエンジニアは、既存の機能コンピュータ言語からの2つの機能、すなわち
マップ
と を減らす という2つの機能を組み合わせるため、イニシアティブMapReduceに名前を付けました。 <! - 3 - > Googleエンジニアは特定の実用的な問題を解決するためにMapReduceを設計しました。したがって、このモデルの実装と組み合わされたプログラミングモデルとして設計されました。本質的には、リファレンス実装です。参照実装は、概念の実用性と有効性を実証し、このモデルがコンピュータ産業によって広く採用されることを保証するために使用された。長年にわたり、MapReduceの他の実装が作成され、オープンソースと商用の両方の製品として利用できます。