MapReduce: förenklad databehandling på stora kluster

MapReduce är en programmeringsmodell och en tillhörande implementering för bearbetning och generering av stora datamängder. Användare anger en kartfunktion som bearbetar ett nyckel/värdepar för att generera en uppsättning mellannyckel/värdepar och en reduce-funktion som sammanfogar alla mellanvärden som är associerade med samma mellannyckel. Många verkliga uppgifter är uttryckliga i denna modell, som visas i papperet.

program skrivna i denna funktionella stil parallelliseras automatiskt och exekveras på ett stort kluster av råvarumaskiner. Run-time-systemet tar hand om detaljerna för partitionering av indata, schemaläggning av programmets körning över en uppsättning maskiner, hantering av maskinfel och hantering av nödvändig kommunikation mellan maskiner. Detta gör det möjligt för programmerare utan erfarenhet av parallella och distribuerade system att enkelt utnyttja resurserna i ett stort distribuerat system.

vår implementering av MapReduce körs på ett stort kluster av råvarumaskiner och är mycket skalbar: en typisk MapReduce-beräkning bearbetar många terabyte data på tusentals maskiner. Programmerare tycker att systemet är lätt att använda: hundratals MapReduce-program har implementerats och uppemot tusen MapReduce-jobb körs på Googles kluster varje dag.

HTML-bilder