MapReduce: diferència entre les revisions

Contingut suprimit Contingut afegit
Cap resum de modificació
usos
Línia 106:
 
== Usos ==
Per norma general, s'utilitza MapReduce en aquells problemes de [[Computació concurrent]] entre els quals s'hi troben involucrats grans datasets que han de ser processats per una gran quantitat de computadores (nodes), als que ens referim de forma col·lectiva com a [[Clúster|clústers]] (sempre que tots els nodes es trobin a la mateixa xarxa d'àrea local i utilitzin el mateix hardware), o a [[Graella de càlcul|graelles de càlcul]] (si els nodes es comporten de forma distribuïda al llarg de zones geogràfiques o administratives extenses, i que generalment posseeixen un hardware més heterogeni). El processament paral·lel es pot donar tant amb l'ús de dades emmagatzemades tant en [[Sistema de fitxers|sistemes de fitxers]] (no estructurats) o en una [[Base de dades|database]] (estructurats). Per aquesta raó s'usa en aplicacions que posseeixen dades a gran escala, tals com les aplicacions paral·leles, la [[indexació web]], [[Mineria de dades|data mining]] i la simulació científica.
MapReduce té una gran utilitat per a un gran nombre d'aplicacions. Entre elles s'inclou la cerca distribuïda basada en patrons (distributed pattern-based searching) , distributed sorting, web link-graph reversal, Singular Value Decomposition, web access log stats, inverted index construction, document clustering, machine learning i statistical machine translation.
 
A més, el model MapReduce ha estat adaptat a diversos àmbits de la computació com els sistemes multi-core i many-core, [[Graella de càlcul|desktop grids]], multi-[[Clúster|cluster]], entorns de dynamic cloud, entorns mòbils i entorns de high-performance computing.
 
Per exemple, a Google , MapReduce va ser utilitzat per a regenerar completament líndex de google de la [[World Wide Web]]. Ha substituït els antics programes ''ad'' ''hoc'' que s'encarregaven d'actualitzar l'índex i fer diverses anàlisis. Des de llavors, el desenvolupament de Google ha canviat a tecnologies com Percolator, FlumeJava i MillWheel que ofereixen operacions i actualitzacions streaming en comptes del processament per lots. D'aquesta manera es permet integrar pràcticament en temps real nous resultats de cerca sense haver de reconstruir completament l'índex.
 
Els inputs i outputs estables d'un MapReduce s'acostumen a emmagatzemar en un [[sistema de fitxers]] distribuït. Les dades transitòries acostumen a desar-se al disc local i són manipulades de forma remota pels reducers.