MapReduce, çoğu bölme ve fethetme sisteminden oldukça temel bir şekilde ayrışıyor, ancak o kadar basit ki, birçok insan onu neredeyse özlüyor. Bunun gerçek dehası ara sonuçları etiketlemektir.
Tipik (önceki) bir böl ve yönet sisteminde, çalışmayı seri olarak bölüştürür, iş paketlerini paralel olarak yürütür ve ardından bu çalışmanın sonuçlarını seri olarak yeniden birleştirirsiniz.
MapReduce'da, işi seri olarak bölüp, iş paketlerini paralel olarak yürütüyorsunuz ve sonuçları hangi sonuçların diğer sonuçlarla gideceğini belirtmek için etiketliyorsunuz. Birleştirme daha sonra aynı etikete sahip tüm sonuçlar için seridir, ancak farklı etiketlere sahip sonuçlar için paralel olarak gerçekleştirilebilir.
Önceki sistemlerin çoğunda, birleştirme adımı en önemsiz işler dışındaki herkes için bir tıkanıklık haline geldi. MapReduce sayesinde olabilir görevlerin doğası tüm birleştirilmesi seri yapılması gerektiriyorsa yine de. Bununla birlikte, görev sonuçların bir dereceye kadar paralel olarak birleştirilmesine izin veriyorsa, MapReduce bu olasılıktan yararlanmak için basit bir yol sunar. Diğer çoğu sistem iki şeyden birini yapar: ya bazı birleştirmeler için gerekli olabileceğinden tüm birleştirmeyi seri olarak gerçekleştirir ya da belirli bir görevin paralel birleştirmesini statik olarak tanımlar. MapReduce, birleştirme aşamasında mümkün olduğu kadar paralel olarak otomatik olarak programlamak için yeterli veri sağlarken, yine de (eşleme adımında hata yapmadığınızı varsayarak) tutarlılığın korunmasını sağlar.
Ayrıca, MapReduce'da, tüm adımların özyinelemeli olabileceği açıktır, bu yüzden büyük bir görevi paralel olarak gerçekleştirilebilecek 5 küçük göreve bölen büyük bir görevi kıran bir ilk haritalama adımına sahip olabilirim - dönüş) bir dizi daha küçük paralel görevle eşleştirilir vb.
Bu, pek çok makineden yararlanmak için büyük bir görevi hızlı bir şekilde parçalara ayırmak için hem haritalama hem de azaltma taraflarında bir ağaç yapısına yol açar.