MapReduce menyimpang dari sebagian besar sistem divide dan menaklukkan dengan cara yang cukup mendasar, tetapi yang begitu sederhana sehingga banyak orang hampir melewatkannya. Jenius yang sebenarnya adalah dalam memberi tag hasil menengah.
Dalam sistem membagi dan menaklukkan (sebelumnya) yang khas, Anda membagi pekerjaan secara seri, menjalankan paket kerja secara paralel, dan kemudian menggabungkan hasil dari pekerjaan itu secara seri lagi.
Di MapReduce, Anda membagi pekerjaan secara seri, mengeksekusi paket kerja secara paralel, dan menandai hasilnya untuk menunjukkan hasil mana yang sesuai dengan hasil lainnya. Penggabungan ini kemudian serial untuk semua hasil dengan tag yang sama, tetapi dapat dieksekusi secara paralel untuk hasil yang memiliki tag yang berbeda.
Dalam kebanyakan sistem sebelumnya, langkah penggabungan menjadi penghambat bagi semua kecuali tugas yang paling sepele. Dengan MapReduce itu dapat tetap jika sifat tugas mensyaratkan bahwa semua penggabungan dilakukan secara serial. Namun, jika tugas tersebut memungkinkan penggabungan beberapa tingkat hasil paralel, maka MapReduce memberikan cara sederhana untuk memanfaatkan kemungkinan itu. Sebagian besar sistem lain melakukan satu dari dua hal: menjalankan semua penggabungan secara serial hanya karena mungkin diperlukan untuk beberapa tugas, atau dengan cara lain mendefinisikan penggabungan paralel untuk tugas tertentu. MapReduce memberi Anda cukup data pada langkah penggabungan untuk secara otomatis menjadwalkan sebanyak mungkin paralel, sambil tetap memastikan (dengan asumsi Anda tidak membuat kesalahan dalam langkah pemetaan) bahwa koherensi dipertahankan.
Perhatikan juga bahwa di MapReduce, tersirat bahwa semua langkah bisa bersifat rekursif, jadi saya mungkin memiliki langkah pemetaan awal yang memecah tugas besar menjadi 5 tugas kecil yang dapat dieksekusi secara paralel - tetapi masing-masing mungkin (dalam turn) dipetakan ke sejumlah tugas paralel lain yang lebih kecil, dan seterusnya.
Ini mengarah ke struktur pohon pada pemetaan dan sisi pengurang untuk dengan cepat memecah tugas besar menjadi beberapa bagian untuk mengambil keuntungan dari banyak mesin.