MapReduce

MapReduce – platforma do przetwarzania równoległego dużych zbiorów danych w klastrach komputerów stworzona przez firmę Google. Nazwa była zainspirowana funkcjami „map(inne języki)” i „reduce” z programowania funkcyjnego. Część platformy została opatentowana w USA[1].

Operacje realizowane są podczas dwóch kroków:

  • Krok „map” – węzeł nadzorczy (master node) pobiera dane z wejścia i dzieli je na mniejsze podproblemy, po czym przesyła je do węzłów roboczych (ang. worker nodes). Każdy z węzłów roboczych może albo dokonać kolejnego podziału na podproblemy, albo przetworzyć problem i zwrócić odpowiedź do głównego programu.
  • Krok „reduce” – główny program bierze odpowiedzi na wszystkie podproblemy i łączy je w jeden wynik – odpowiedź na główny problem.

Główną zaletą MapReduce jest umożliwienie łatwego rozproszenia operacji. Zakładając, że każda z operacji „map” jest niezależna od pozostałych, może być ona realizowana na osobnym serwerze.

Przypisy

  1. US Patent 7,650,331: "System and method for efficient large-scale data processing "
Kontrola autorytatywna (paradygmat programowania):
  • VIAF: 305041139
  • LCCN: no2013077469
  • J9U: 987007371891305171
Encyklopedia internetowa:
  • Britannica: topic/MapReduce