MapReduce ایک پروگرامنگ ماڈل ہے جو تقسیم شدہ کمپیوٹنگ کے کاموں کے لیے استعمال ہوتا ہے۔ یہ پیچیدہ کمپیوٹیشنل مسائل کو چھوٹے، زیادہ قابل انتظام ٹکڑوں میں تقسیم کرکے حل کرنے کے لیے تقسیم اور فتح کے نقطہ نظر پر مبنی ہے۔ MapReduce ماڈل بنیادی طور پر بڑے ڈیٹا سیٹس پر استعمال ہوتا ہے، اور عام طور پر کمپیوٹیشنل پاور کے لیے کموڈٹی سرورز کے کلسٹر پر انحصار کرتا ہے۔
MapReduce کو گوگل کے محققین نے پہلی بار 2004 میں متعارف کرایا تھا، اور اس کے بعد سے یہ ڈیٹا کے تجزیہ اور پروسیسنگ کے لیے ایک مقبول ٹول بن گیا ہے۔ اس ماڈل میں، دو الگ الگ مراحل ہیں - نقشہ اور کم کرنے کے مراحل۔
نقشہ کے مرحلے میں، ڈیٹا کو ٹکڑوں میں تقسیم کیا جاتا ہے جسے "اسپلٹس" کہتے ہیں۔ ہر تقسیم ایک میپر کو تفویض کیا جاتا ہے جو ڈیٹا پر کارروائی کرتا ہے اور کلیدی قدر کے جوڑوں کا ایک سیٹ آؤٹ پٹ کرتا ہے۔ کلیدی قدر کے جوڑوں کو پھر کم کرنے کے مرحلے میں کھلایا جاتا ہے، جہاں انہیں ترتیب دیا جاتا ہے اور ایک ہی آؤٹ پٹ میں جمع کیا جاتا ہے۔
MapReduce ماڈل بہت سے کاموں کے لیے فائدہ مند ہے، بشمول ڈیٹا مائننگ، مشین لرننگ، اور قدرتی زبان کی پروسیسنگ۔ یہ اکثر ڈیٹا کی بڑی مقدار کا تجزیہ کرنے کے لیے استعمال ہوتا ہے، جیسے ویب لاگ اور سرور لاگز، اور بڑے ڈیٹا سیٹس پر تیزی سے کارروائی کرنے کے لیے۔
MapReduce کو بہت سی مشہور پروگرامنگ زبانوں میں ضم کیا گیا ہے، جیسے Java, Python, اور C#، اور اسے کئی مشہور پلیٹ فارمز، جیسے Hadoop اور Apache Spark سے تعاون حاصل ہے۔ نتیجے کے طور پر، یہ ڈیٹا پروسیسنگ اور تجزیہ کے لیے ایک عام ٹول بن گیا ہے، اور اسے مختلف تنظیموں کے ذریعے بڑے ڈیٹا سیٹس سے قدر حاصل کرنے میں مدد کے لیے استعمال کیا جا رہا ہے۔