Video: Big Data in 3 Minuten erklärt 2024
MapReduce wird zunehmend für Big Data nützlich. In den frühen 2000er Jahren blickten einige Ingenieure bei Google in die Zukunft und stellten fest, dass ihre aktuellen Lösungen für Anwendungen wie Web-Crawling, Abfragehäufigkeit usw. für die meisten bestehenden Anforderungen ausreichend waren, aber für die Komplexität, die sie erwarteten, unzureichend waren. Web skaliert auf immer mehr Benutzer.
Diese Ingenieure stellten fest, dass, wenn Arbeit über preiswerte Computer verteilt und dann im Netzwerk in Form eines "Clusters" verbunden werden konnte, sie das Problem lösen konnten. Die Verteilung allein war keine ausreichende Antwort. Diese Arbeitsteilung muss aus den folgenden drei Gründen parallel ausgeführt werden:
-
Die Verarbeitung muss sich automatisch erweitern und kontrahieren können.
-
Die Verarbeitung muss unabhängig von Fehlern im Netzwerk oder den einzelnen Systemen erfolgen können.
-
Entwickler, die diesen Ansatz nutzen, müssen in der Lage sein, Services zu entwickeln, die von anderen Entwicklern leicht genutzt werden können. Daher muss dieser Ansatz unabhängig davon sein, wo die Daten und Berechnungen ausgeführt wurden.
MapReduce wurde als generisches Programmiermodell entworfen. Einige der anfänglichen Implementierungen lieferten alle Schlüsselanforderungen der parallelen Ausführung, der Fehlertoleranz, des Lastausgleichs und der Datenmanipulation. Die verantwortlichen Projektingenieure nannten die Initiative MapReduce, weil sie zwei Fähigkeiten aus bestehenden funktionalen Computersprachen kombiniert: map und reduce .
Google-Ingenieure haben MapReduce entwickelt, um ein konkretes Problem zu lösen. Daher wurde es als ein Programmiermodell entworfen, das mit der Implementierung dieses Modells kombiniert wurde - im Wesentlichen eine Referenzimplementierung.
Die Referenzimplementierung wurde verwendet, um die Praktikabilität und Effektivität des Konzepts zu demonstrieren und sicherzustellen, dass dieses Modell von der Computerindustrie weitgehend übernommen wird. Im Laufe der Jahre wurden andere Implementierungen von MapReduce erstellt, die sowohl als Open Source als auch als kommerzielle Produkte verfügbar sind.