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

С Википедије, слободне енциклопедије
Садржај обрисан Садржај додат
Нема описа измене
Нема описа измене
ознака: уређивање извора (2017)
Ред 1: Ред 1:
'''MapReduce''' je model programiranja pogodan za pretragu velikih skupova podataka.<ref>http://www.cnet.com/news/google-spotlights-data-center-inner-workings/</ref><ref>http://static.googleusercontent.com/media/research.google.com/es/us/archive/mapreduce-osdi04.pdf</ref>
'''-{MapReduce}-''' je model programiranja pogodan za pretragu velikih skupova podataka.<ref>http://www.cnet.com/news/google-spotlights-data-center-inner-workings/</ref><ref>http://static.googleusercontent.com/media/research.google.com/es/us/archive/mapreduce-osdi04.pdf</ref>


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]]).
-{MapReduce}- program se sastoji od procedure mapiranja ({{Jez-engl-lat|map}}) koja obavlja filtriranje i sortiranje (na primer sortiranje studenata po imenu) i procedure redukovanja (({{Jez-engl-lat|reduce}})) 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.


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>
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.
-{MapReduce}- biblioteke se pišu u različitim programskim jezicima, sa različitim nivoima optimizacije. Popularna implementacija otvorenog koda je deo [[Apači Hadup|Apači Hadupa]]. Pojam -{MapReduce}- prvobitno se odnosio samo na [[Gugl]]ovu tehnologiju, ali je kasnije poprimio generalno značenje.


== Reference ==
== Reference ==

Верзија на датум 27. април 2019. у 11:41

MapReduce je model programiranja pogodan za pretragu velikih skupova podataka.[1][2]

MapReduce program se sastoji od procedure mapiranja (engl. map) koja obavlja filtriranje i sortiranje (na primer sortiranje studenata po imenu) i procedure redukovanja ((engl. reduce)) 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.

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.[3][4] Ključne prednosti MapReduce okvira su skalabilnost i robusnost. Dok sve prednosti MapReduce okvira mogu biti uočljive samo sa višenitnom implementacijom, jer jednonitna implementacija (na primer MongoDB) ne može biti brža od tradicionalnog (ne MapReduce) modela programiranja.[5] 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.[6]

MapReduce biblioteke se pišu u različitim programskim jezicima, sa različitim nivoima optimizacije. Popularna implementacija otvorenog koda je deo Apači Hadupa. Pojam MapReduce prvobitno se odnosio samo na Guglovu tehnologiju, ali je kasnije poprimio generalno značenje.

Reference

  1. ^ http://www.cnet.com/news/google-spotlights-data-center-inner-workings/
  2. ^ http://static.googleusercontent.com/media/research.google.com/es/us/archive/mapreduce-osdi04.pdf
  3. ^ "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
  4. ^ Lämmel, R. (2008). "Google's Map Reduceprogramming model — Revisited". Science of Computer Programming 70: 1. doi:10.1016/j.scico.2007.07.001
  5. ^ "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...
  6. ^ Ullman, J. D. (2012). "Designing good MapReduce algorithms". XRDS: Crossroads, the ACM Magazine for Students (Association for Computing Machinery)