MapReduce
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
- ^ http://www.cnet.com/news/google-spotlights-data-center-inner-workings/
- ^ http://static.googleusercontent.com/media/research.google.com/es/us/archive/mapreduce-osdi04.pdf
- ^ "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 Архивирано на веб-сајту Wayback Machine (11. децембар 2017)", by Jeffrey Dean and Sanjay Ghemawat; from Google Research
- ^ Lämmel, R. (2008). "Google's Map Reduceprogramming model — Revisited". Science of Computer Programming 70: 1. doi:10.1016/j.scico.2007.07.001
- ^ "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...
- ^ Ullman, J. D. (2012). "Designing good MapReduce algorithms". XRDS: Crossroads, the ACM Magazine for Students (Association for Computing Machinery)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.