آیا مدل برنامه نویسی Map Reduce به درد تمام مسائل این دنیا میخورد؟ قطعا خیر. پس در کجاها میتوان از Map Reduce و این مدل برنامه نویسی موازی استفاده کرد؟ در این درس میخواهیم به این سوال پاسخ داده و ببینیم کجاها بهتر است از این روش استفاده کنیم.
دلیل اصلی که شرکت Google از Map Reduce برای انجام عملیات خود استفاده کرد، ضرب ماتریس در بردار بود. این عملیات ریاضی احتمالا برای شما آشناست. یک ماتریس و یک بردار که میخواهیم آنها را در یکدیگر ضرب کنیم و حاصل یک بردار جدید است. این کار که در ابتدا به نظر بدون کاربرد میرسد، یکی از عملیات اصلی در الگوریتم Page Rank است. همان الگوریتمی که هسته اصلی موتور جستجوی گوگل برای رتبه بندی سایتها و صفحات آن سایتها را تشکیل میدهد. در درسهای بعد خواهیم که که ضرب یک ماتریس در بردار و همچنین ضرب دو ماتریس، میتواند کاملا توسط مدل برنامه نویسی Map Reduce به صورت موازی اجرا شود.
یکی دیگر از کاربردهای Map Reduce، میتواند در جبر رابطه ای باشد. جبر رابطهای زیاد سخت نیست، یعنی اصلا سخت نیست. اگر با پایگاه دادههای رابطهای مانند MySql، Sql Server، Oracle، PostgreSql یا Sqlite کار کرده باشید، منطق آنها را میدانید. این منطق برخواسته از جبر رابطهای یا همان Relational Algebra آمده است. در واقع علمیات مختلفی مانند Select، Where، Join، Union، Intersect و… را میتوانید به صورت موازی توسط عملیات Map Reduce انجام دهید. در واقع یکی از کاربردهای اصلی Map Reduce میتواند همین عملیاتی باشد که روزانه توسط این دست از پایگاه دادهها انجام میشود و پرس و جو (Query)هایی که برای انجام عملیات مورد نظر خود انجام میدهید را میتوان از طریق Map Reduce به صورت موازی و بهینه بر روی خوشهای از کامپیوترها اجرا نمود. برای مثال Spark Sql و یا Apache Hive میتواند نمونهی خوبی از پیاده سازیهای Sql بر بستر سیستم توزیع شده باشد.
آموزش خوبی بود برای پیدا کردن یک دیدگاه کلی از این مدل و آشنایی با کلید واژه های آن. ممنونم
بسيار مطالب خوب و اموزنده اي بود واسه ارائه ي مقاله ي انتخابيم بسيار كمك كننده بود ممنونم
ممنون از توضیحات و مثال خوبتون که به فهم بهتر موضوع خیلی کمک کرد.
خیلی ممنونم مفید بود
شروع دوره خوبی بود. منتظر ادامه درس های بعدی از این دوره هستم. سپاس