MapReduce: yksinkertaistettu tietojenkäsittely suurilla klustereilla

MapReduce on ohjelmointimalli ja siihen liittyvä toteutus suurten tietokokonaisuuksien käsittelyyn ja tuottamiseen. Käyttäjät määrittelevät karttafunktion, joka käsittelee avain/arvo-paria muodostaakseen joukon väli-avain/arvo-pareja, ja pelkistysfunktion, joka yhdistää kaikki samaan väli-avaimeen liittyvät väli-arvot. Monet reaalimaailman tehtävät ovat ilmaistavissa tässä mallissa, kuten paperi osoittaa.

tällä funktionaalisella tyylillä kirjoitetut ohjelmat ovat automaattisesti paralleloituja ja ne toteutetaan suurella tavarakoneiden ryppäällä. Ajonaikajärjestelmä huolehtii syöttötietojen osioinnista, ohjelman suorituksen ajoittamisesta eri koneille, koneen vikojen käsittelystä ja tarvittavan koneiden välisen viestinnän hallinnasta. Tämän ansiosta ohjelmoijat, joilla ei ole kokemusta rinnakkaisista ja hajautetuista järjestelmistä, voivat helposti hyödyntää suuren hajautetun järjestelmän resursseja.

MapReduce-toteutuksemme toimii laajassa tavarakoneiden ryppäässä ja on erittäin skaalautuva: tyypillinen MapReduce-laskenta käsittelee useita teratavuja dataa tuhansissa koneissa. Ohjelmoijat pitävät järjestelmää helppokäyttöisenä: satoja MapReduce-ohjelmia on toteutettu ja yli tuhat MapReduce-työtä suoritetaan Googlen klustereissa päivittäin.

HTML-diat