بررسی ابزارهای MapReduce در BigData: تفاوت میان نسخه‌ها

از OCCC Wiki
پرش به ناوبری پرش به جستجو
خط ۱: خط ۱:
==مقدمه==
در حال حاضر حجم داده در فضای اینترنت رشد بسیار زیادی در حد ترابایت و پتابایت دارد. همزمان با رشد داده، انواع داده تولیدشده توسط برنامه ها نیز از گذشته بیشتر می شود. در نتیجه روش ذخیره سازی پایگاه های داده رابطه ای دیگر پاسخگو نبوده و بسیاری از شرکت های فعال در زمینه فناوری اطلاعات به پایگاه های داده NoSQL نظیر Cassandra و HBase برای مدیریت گران داده (BigData) روی آورده اند و ممکن است از سیستم های محاسباتی توسعه یافته نظیر Hadoop نیز در کنار آنها استفاده کنند. پایگاه های داده NoSQL معمولا از روش ذخیره سازی کلید-مقدار (key-value)، غیررابطه ای توسعه یافته، با مقیاس افقی و بدون ساختار استفاده می کنند.
با این وجود آیا ما امروزه به مدل سازی داده نیاز داریم؟ مدل سازی در روش رابطه ای بر روی پیچیدگی روابط چندین schema تمرکز داشت ولی این موارد برای پایگاه های داده غیررابطه ای و بدون schema دیگر مطرح نیست. لذا روش های مدل سازی داده قدیمی دیگر کارامد نبوده و ما به یک متدولوژی جدید برای مدیریت گران داده نیاز داریم.
دیاگرام زیر معماری کلی گران داده را نمایش می دهد:
[[پرونده:Mapreduce-Model.png|400px|قاب|وسط]]
همان طور که از دیاگرام فوق مشخص است مدل های گران داده در سه لایه نشان داده شده اند:
1. لایه داده فیزیکی: داده ای است که ما در یک سیستم گران داده داریم که می تواند در انواع مختلف نظیر video، audio،logs ،business tables و غیره باشد.
2. لایه مدل سازی داده: لایه ای است که برای مدیریت داده فیزیکی به کار می رود.
3. لایه مدل سازی محاسباتی: لایه کاربردی که برای بازیابی اطلاعات برای ارزش گذاری تجاری به کار می رود.
تمرکز ما در این مقاله بر روی لایه سوم یا مدل سازی محاسباتی می باشد که به بررسی ابزارهای نگاشت کاهشی خواهیم پرداخت.
== چکیده ==
== چکیده ==
با رشد روزافزون حجم و انواع داده ها ضروریست که سازمان ها به دنبال روش هایی برای افزایش سرعت در پردازش داده های حجیم باشند. MapReduce مدلی برای پردازش حجم بسیار بزرگ داده است که اولین بار توسط گوگل ارایه گردید. این مدل شامل دو وظیفه است: اولی وظیفه نگاشت (Map) که داده را از یک مجموعه وسیهع دریافت می کند و عناصر آن به جفت های کلید-مقدار (key-value pairs) شکسته می شوند. و دومین وظیفه که Reduce نام دارد خروجی Map را گرفته و بخش های مختلف داده را با هم ترکیب نموده یک مجموعه کوچکتر از جفت های کلید-مقدار به عنوان خروجی بر می گرداند.
با رشد روزافزون حجم و انواع داده ها ضروریست که سازمان ها به دنبال روش هایی برای افزایش سرعت در پردازش داده های حجیم باشند. MapReduce مدلی برای پردازش حجم بسیار بزرگ داده است که اولین بار توسط گوگل ارایه گردید. این مدل شامل دو وظیفه است: اولی وظیفه نگاشت (Map) که داده را از یک مجموعه وسیهع دریافت می کند و عناصر آن به جفت های کلید-مقدار (key-value pairs) شکسته می شوند. و دومین وظیفه که Reduce نام دارد خروجی Map را گرفته و بخش های مختلف داده را با هم ترکیب نموده یک مجموعه کوچکتر از جفت های کلید-مقدار به عنوان خروجی بر می گرداند.

نسخهٔ ‏۲۴ دسامبر ۲۰۱۵، ساعت ۲۲:۲۸

مقدمه

در حال حاضر حجم داده در فضای اینترنت رشد بسیار زیادی در حد ترابایت و پتابایت دارد. همزمان با رشد داده، انواع داده تولیدشده توسط برنامه ها نیز از گذشته بیشتر می شود. در نتیجه روش ذخیره سازی پایگاه های داده رابطه ای دیگر پاسخگو نبوده و بسیاری از شرکت های فعال در زمینه فناوری اطلاعات به پایگاه های داده NoSQL نظیر Cassandra و HBase برای مدیریت گران داده (BigData) روی آورده اند و ممکن است از سیستم های محاسباتی توسعه یافته نظیر Hadoop نیز در کنار آنها استفاده کنند. پایگاه های داده NoSQL معمولا از روش ذخیره سازی کلید-مقدار (key-value)، غیررابطه ای توسعه یافته، با مقیاس افقی و بدون ساختار استفاده می کنند. با این وجود آیا ما امروزه به مدل سازی داده نیاز داریم؟ مدل سازی در روش رابطه ای بر روی پیچیدگی روابط چندین schema تمرکز داشت ولی این موارد برای پایگاه های داده غیررابطه ای و بدون schema دیگر مطرح نیست. لذا روش های مدل سازی داده قدیمی دیگر کارامد نبوده و ما به یک متدولوژی جدید برای مدیریت گران داده نیاز داریم. دیاگرام زیر معماری کلی گران داده را نمایش می دهد:

Mapreduce-Model.png

همان طور که از دیاگرام فوق مشخص است مدل های گران داده در سه لایه نشان داده شده اند: 1. لایه داده فیزیکی: داده ای است که ما در یک سیستم گران داده داریم که می تواند در انواع مختلف نظیر video، audio،logs ،business tables و غیره باشد. 2. لایه مدل سازی داده: لایه ای است که برای مدیریت داده فیزیکی به کار می رود. 3. لایه مدل سازی محاسباتی: لایه کاربردی که برای بازیابی اطلاعات برای ارزش گذاری تجاری به کار می رود. تمرکز ما در این مقاله بر روی لایه سوم یا مدل سازی محاسباتی می باشد که به بررسی ابزارهای نگاشت کاهشی خواهیم پرداخت.

چکیده

با رشد روزافزون حجم و انواع داده ها ضروریست که سازمان ها به دنبال روش هایی برای افزایش سرعت در پردازش داده های حجیم باشند. MapReduce مدلی برای پردازش حجم بسیار بزرگ داده است که اولین بار توسط گوگل ارایه گردید. این مدل شامل دو وظیفه است: اولی وظیفه نگاشت (Map) که داده را از یک مجموعه وسیهع دریافت می کند و عناصر آن به جفت های کلید-مقدار (key-value pairs) شکسته می شوند. و دومین وظیفه که Reduce نام دارد خروجی Map را گرفته و بخش های مختلف داده را با هم ترکیب نموده یک مجموعه کوچکتر از جفت های کلید-مقدار به عنوان خروجی بر می گرداند.

Mapreduce.png

در این مقاله می خواهیم دو ابزار معروف MapReduce به نام های Hadoop و Spark محصول کمپانی Apache را مورد بررسی قرار دهیم.

مراجع

1. Daniel Peralta, Sara del Río, Sergio Ramírez-Gallego, Isaac Triguero, Jose M. Benitez, and Francisco Herrera/Evolutionary Feature Selection for Big Data Classification: A MapReduce Approach/2015/ لینک به مقاله

2. Anand Loganathan, Ankur Sinha, Muthuramakrishnan V., and Srikanth Natarajan/A Systematic Approach to Big Data Exploration of the Hadoop Framework/2014/لینک به مقاله

3.Xing Wu, Yan Liu, Ian Gorton / Exploring Performance Models of Hadoop Applications on Cloud Architecture/2015/لینک به مقاله

4.Xiaoyi Lu ; Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH, USA ; Rahman, M.W.U. ; Islam, N. ; Shankar, D / Accelerating Spark with RDMA for Big Data Processing: Early Experiences /2014/لینک به مقاله