MapReduce — разлика између измена

Садржај обрисан Садржај додат
Нема описа измене
Нема описа измене
Ред 3:
MapReduce program se sastoji od Map() procedure koja obavlja filtriranje i sortiranje (na primer sortiranje studenata po imenu) i Reduce() procedure koje obavlja zbirnu operaciju (na primer brojanje koliko ima studenata sa svakim imenom). MapReduce sistem se izvršava uz pomoć prikupljanja sa distibuiranih servera, paralelnog izvršavanja operacija, upravljanja tokom i prenosom podataka između različitih delova sistema, na taj način obezbeđujući osobine redudanse i robusnosti (eng.- [[:en:Robustness_(computer_science)|Robustness]]).
 
Model se zasniva na funkcijama mapiranja i redukovanja. One se najčešće koriste u funkcionalnom programiranju, ali je njihova svrha u okviru MapReduce drugačija.<ref>"Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages." -"[http://research.google.com/archive/mapreduce.html MapReduce: Simplified Data Processing on Large Clusters]", by Jeffrey Dean and Sanjay Ghemawat; from [https://en.wikipedia.org/wiki/Google Google Research]</ref><ref>Lämmel, R. (2008). "Google's Map Reduceprogramming model — Revisited". Science of Computer Programming 70: 1. doi:10.1016/j.scico.2007.07.001</ref> Ključne prednosti MapReduce okvira su skalabilnost i robusnost. Dok sve prednosti MapReduce okvira mogu biti uočljive samo sa [[Višenitna obrada|višenitnom]] implementacijom, jer jednonitna implementacija (na primer [[MongoDB]]) ne može biti brža od tradicionalnog (ne MapReduce) modela programiranja.<ref>"[https://stackoverflow.com/questions/3947889/mongodb-terrible-mapreduce-performance MongoDB: Terrible MapReduce Performance]". Stack Overflow. October 16, 2010. The MapReduce implementation in MongoDB has little to do with map reduce apparently. Because for all I read, it is single-threaded, while map-reduce is meant to be used highly parallel on a cluster. ... MongoDB MapReduce is single threaded on a single server...</ref>. Upotreba ovog modela je opravdana samo ako su prisutne optimizovana distribuirana operacija Shuffle (koja smanjuje troškove mrežne komunikacije) i osobina robusnosti. Optimizacija troškova komunikacije je takođe od velikog značaja za dobar MapReduce algoritam.<ref>[http://en.wikipedia.org/wiki/Jeffrey_Ullman Ullman, J. D.] (2012). "[http://xrds.acm.org/article.cfm?aid=2331053 Designing good MapReduce algorithms]". XRDS: Crossroads, the ACM Magazine for Students (Association for Computing Machinery)</ref>
 
MapReduce biblioteke se pišu u različitim programskim jezicima, sa različitim nivoima optimizacije. Popularna implementacija otvorenog koda je deo [[Apači Hadup|Apache Hadoop-a]]. Pojam MapReduce prvobitno se odnosio samo na Google tehnologiju, ali je kasnije poprimio generalno značenje.
Преузето из „https://sr.wikipedia.org/wiki/MapReduce