MapReduce

De la Wikipedia, enciclopedia liberă

MapReduce este o paradigmă de programare folosită pentru procesarea unor cantități mari de date în mod paralel și distribuit pe un cluster.[1]

Un program MapReduce este compus dintr-o procedură Map() care selectează și sortează datele și o procedură Reduce() care îndeplinește operația de însumare a rezultatelor. Sistemul MapReduce administrează serverele distribuite, se asigură că diferitele sarcini sunt rulate în paralel, administrează comunicarea și transferul de date dintre diferitele componente ale sistemului și oferă suport în cazul în care apar erori în sistem.

Modelul este inspirat din funcțiile Map și Reduce care apar în programarea funcțională, mai precis din programul Lisp [2], deși scopul lor în paradigma MapReduce este diferit față de cel din acest program.[3] Mai mult, contribuțiile cheie ale paradigmei MapReduce nu sunt procedurile Map și Reduce în sine, ci scalabilitatea (caracteristică a unui sistem informatic de a se comporta similar, fără defecțiuni, atunci când volumul de date pe care îl prelucrează devine mai mare) și rezistența la stres, obținute prin optimizare.

Bibliotecile MapReduce sunt scrise în mai multe limbaje de programare. O implemetare foarte cunoscută este Apache Hadoop.

Referințe și note[modificare | modificare sursă]

  1. ^ „Google spotlights data center inner workings | Tech news blog - CNET News.com”. Arhivat din original la . Accesat în . 
  2. ^ "Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages." -"MapReduce: Simplified Data Processing on Large Clusters", by Jeffrey Dean and Sanjay Ghemawat; from Google Research
  3. ^ doi:10.1016/j.scico.2007.07.001
    Această referință va fi completată automat în următoarele minute. Puteți sări peste perioada de așteptare sau puteți extinde citarea manual