ম্যাপ্রেইডুস বেশিরভাগ বিভাজন থেকে বিভক্ত হয়ে সিস্টেমকে মোটামুটি মৌলিক উপায়ে বিভক্ত করে, তবে এটি এতটাই সহজ যে অনেকে এটি প্রায় মিস করে। এর আসল প্রতিভা মধ্যবর্তী ফলাফলগুলি ট্যাগ করার মধ্যে।
একটি সাধারণ (পূর্ববর্তী) বিভাজক এবং বিজয়ী সিস্টেমে আপনি কাজটি ক্রমিকভাবে বিভক্ত করেন, সমান্তরালে কাজের প্যাকেটগুলি কার্যকর করেন এবং তারপরে ফলাফলটি ক্রমিকভাবে আবার একত্রিত করুন।
ম্যাপ্রেডস-এ, আপনি কাজটি ধারাবাহিকভাবে বিভক্ত করবেন, সমান্তরালে কাজের প্যাকেটগুলি কার্যকর করুন এবং কোন ফলাফলের সাথে অন্যান্য ফলাফলের সাথে কোন ফলাফল চলে যায় তা বোঝাতে ফলাফলগুলিকে ট্যাগ করুন tag একত্রীকরণটি একই ট্যাগের সাথে সমস্ত ফলাফলের জন্য ক্রমিক হয় তবে বিভিন্ন ট্যাগ থাকা ফলাফলের জন্য সমান্তরালে সম্পাদন করা যায়।
পূর্ববর্তী বেশিরভাগ সিস্টেমে, মার্জ পদক্ষেপটি সত্যিকারের তুচ্ছ কাজগুলি বাদে সকলের জন্য একটি বাধা হয়ে দাঁড়িয়েছে। MapReduce সঙ্গে এটি করতে পারেন এখনও হতে কাজগুলো প্রকৃতি প্রয়োজন হলে যে সব মার্জ ধারাবাহিকভাবে সম্পন্ন করা। তবে, যদি টাস্কটি কিছু পরিমাণের সমান্তরাল ফলাফলের মার্জ করতে দেয় তবে ম্যাপ্রেডুস সেই সম্ভাবনার সুযোগটি নেওয়ার একটি সহজ উপায় দেয়। বেশিরভাগ অন্যান্য সিস্টেমে দুটি জিনিসের মধ্যে একটি করে: হয় সমস্ত মার্জিয়াল ক্রমিকভাবে কেবলমাত্র কার্যকর করা হয় কারণ এটি কিছু কাজের জন্য প্রয়োজনীয় হতে পারে অথবা অন্যথায় কোনও নির্দিষ্ট কাজের জন্য সমান্তরাল মার্জিংকে স্থিরভাবে সংজ্ঞায়িত করে। ম্যাপ্রেইডুস আপনাকে সংযোজন পদক্ষেপে স্বয়ংক্রিয়ভাবে যথাসম্ভব সমান্তরালভাবে সময়সূচী দেওয়ার জন্য পর্যাপ্ত পরিমাণে তথ্য সরবরাহ করে, তবুও নিশ্চিত করে (ম্যাপিং পদক্ষেপে আপনি ভুল করেননি) ধরে রাখছেন যে সংগততা বজায় রয়েছে।
এছাড়াও নোট করুন যে ম্যাপ্রেডুসে, এটি অন্তর্নিহিত যে সমস্ত পদক্ষেপগুলি পুনরাবৃত্ত হতে পারে, তাই আমার কাছে প্রাথমিক ম্যাপিং পদক্ষেপ থাকতে পারে যা একটি বৃহত টাস্ককে 5 টি ছোট ছোট টাস্কে সমান্তরালভাবে সম্পাদন করতে পারে - তবে এর প্রতিটি হতে পারে (মধ্যে টার্ন) আরও অনেকগুলি ছোট ছোট সমান্তরাল কার্যগুলিতে ম্যাপযুক্ত হোন এবং আরও অনেক কিছু।
এটি ম্যাপিং এবং হ্রাসকারী উভয় পক্ষের উপর একটি গাছের কাঠামোর দিকে নিয়ে যায় যাতে অনেকগুলি মেশিনের সুবিধা নেওয়ার জন্য দ্রুত একটি বড় টাস্ককে পর্যাপ্ত টুকরো টুকরো টুকরো করে দেয়।