بخشی از مقاله

بررسی روش های پردازش و ذخیره سازی داده های حجیم در محیط ابر

 

چکیده
امروزه با رشد روزافزون ابزارهایی مانند شبکه های اجتماعی و ظهور مفاهیمی همچون وب معنایی ، حجم داده ها و پردازش ها در سیستم های بزرگ بطور شگفت انگیزی افزایش یافته است. برای نمونه یک موتورجستجو در کسری از ثانیه نتایج جستجوهای کاربر را آماده می کند که این ناشی از تحلیلی کارآمد روی اطلاعات حجیم جمع آوری شده از سطح وب می باشد بنابراین وجود مکانیزمی برای پردازش اطلاعات حجیم با هزینه ای مقرون به صرفه بسیار پر اهمیت است. یکی از جنبه های مهم پردازش ابری که بسیار مورد استفاده قرار می گیرد پردازش روی مجموعه داده های حجیم می باشد. چارچوب متن باز Hadoop بستری روی ابر برای ذخیره سازی و پردازش این نوع داده های حجیم می باشد که توسط Apache ارائه شده است که با توجه به متن باز بودن آن از نظر اقتصادی نیز مقرون به صرفه تر می باشد. هدف ما در این پژوهش بررسی مزایا و معایب دو بخش مهم سیستم فایل توزیع شده ی هدوپ که برای مدیریت داده های حجیم طراحی شده و سرویس نگاشت کاهش که چارچوبی برای پردازش داده های حجیم در محیط توزیع شده ارائه شده است ، می باشد.

واژگان کلیدی: رایانش ابری ، Hadoop، MapReduce، HDFS

-1 مقدمه

در طی سال های اخیر با رشد عظیم حجم داده ها در بسیاری از سیستم های کامپیوتری مواجه بوده ایم بطوریکه در یک شبکه ی اجتماعی مانند فیسبوک روزانه 300 میلیون عکس ذخیره می شود که برابر با حجمی حدود 25 ترابایت در روز می باشد ، یا بازار بورس نیویورک روزانه چندین ترابایت داده را پردازش می کند. شواهد فراوانی در اثبات این ادعا وجود دارند که از آن میان میتوان ثبت تراکنشهای یک میلیون مشتری در هر ساعت در فروشگاههای زنجیرهای والمارت بهمنظور تحلیل علایق و عادتهای خریدشان با حجمی بالغ بر 2,5 پتابایت (هر پتابایت برابر یک هزار ترابایت) و در یک کلام تولید 75 درصد از کل »داده بزرگ« توسط افراد و کاربران معمولی به میزان 1,35 زتابایت ( هر زتابایت برابر یک هزار اگزابایت) اشاره کرد. این در حالی است که براساس تحقیقات بهعمل آمده، حجم دادههای موجود در جهان در سال 2012، چهل درصد افزایش یافته و به عددی بالغ بر 2.52 زتابایت رسید.[1] پرواضح است که چنین حجمی از داده نیازمندیهای خاص خود را داشته و ابزارهای مختص بهخود را میطلبد. در گذشته ای نه چندان دور از رایانش تک رایانه ای برای انجام پردازش ها استفاده می شد اما به مرور زمان و افزایش حجم داده ها و پردازش ها حرکت به سمت رایانش انبوه رایانه ای آغاز شد. شاید یکی از راه های پردازش داده های عظیم استفاده از ماشین های قدرتمند در کنار هم باشد ولی این راه حل مشکلاتی مانند هزینه ی بالا ، عدم قابلیت اطمینان ، ایجاد مشکل در برخی ماشین ها را خواهد داشت.[2] بنابراین مفهوم رایانش ابری مطرح شد، رایانش ابری مدلی برای دسترسی سریع و فراگیر به مجموعه ای از منابع رایانشی مانند شبکه ، سرورها ، فضای ذخیره سازی و... است.
یکی از چالش های مهم این بخش، استفاده بهینه از مراکز داده ها و سخت افزارهای قویِ محیط ابر در جهت پردازش سریعتر داده ها یا به بیان بهتر پردازش سریع داده های حجیم می باشد که هدف ما در این مقاله بررسی روش های ذخیره سازی پردازش اطلاعات حجیم در وبگاه هایی مانند گوگل، فیسبوک و... می باشد.


-1-1 محیط ابری

محیط ابری در واقع مرکز داده ای بزرگ، شامل مجموعه ای از سخت افزارهاست. برای استفاده ی بهینه ی از سخت افزارها (مانند پردازنده و (Ram ، با استفاده از تکنیک های مجازی سازی، چندین ماشین مجازی ایجاد می شود که هر ماشین مجازی بصورت مجزا از ماشین دیگر می تواند سیستم عامل خاص خود و نرم افزارهای مجزایی را اجرا کند، در حقیقت با استفاده از این تکنیک به جای استفاده از چندین سیستم سخت افزاری مجزا یا استفاده از یک ابرکامپیوتر، چندین ماشین محاسباتی داریم که بصورت مجازی آنها را ایجاد کرده ایم. همانطور که در شکل یک مشاهده می کنید سیستم موجود به 4 ماشین مجازی تقسیم شده است. علاوه بر این می توان بر حسب نیاز سخت افزاری کاربران، سخت افزار مورد نیاز آنها را در قالب ماشین های مجازی موجود در سرویس ابری بشرط وجود ارتباط اینترنتی سریع به آنها اجاره داد. بطوری که در شکل یک مشهود است میزان حافظه ی RAM خاصی به هر یک از آنها اختصاص داده شده است.


شکل - 1 نمونه ای از مجازی سازی ×

-2-1 سیستم فایل توزیع شده

به احتمال فراوان همه ی ما نام سیستم فایل های سنتی مانند FAT و NTFS را بارها شنیده ایم که وظیفه ی آنها تقسیم بندی هارددیسک به چندین بخش کوچکتر و تکه تکه کردن فایل ها برای ذخیره سازی روی این بخش های کوچک می باشد. حال فرض کنید ما در یک مرکز داده بزرگ ابر که از تعداد زیادی ماشین مجازی تشکیل شده است باید فایل هایی که از نظر تعداد و حجم بسیار زیاد هستند را ذخیره یا پردازش کنیم، چنین عملی نیازمند سیستمی قدرتمند جهت تقسیم کار عادلانه بین ماشین های مجازی می باشد.

یک سیستم فایل توزیع شده مدلی از سیستم فایلهای سنتی است که هدف آن به اشتراک گذاری فایلهای موجود در سیستم های مختلف می باشد.[4] فایل متعلق به یک کاربر روی یک یا چند ماشین ذخیره می شود و کاربر می تواند روی فایل خود اعمالی مانند خواندن ، نوشتن ، حذف ، بروزرسانی و... انجام دهد.

گوگل به عنوان قدرتمند ترین موتور جستجوی موجود در دنیای وب نتیجه هر جستجو را در کسری از ثانیه نمایش می دهد، همانطور که می دانید اینگونه نیست که گوگل در لحظه ی درخواست به جستجو بپردازد اما باید بدانیم در این پروسه چه اتفاقی می افتد؟ گوگل هر روزه اکثر صفحات وب موجود در اینترنت را پیمایش می کند و اطلاعاتی از هر صفحه را نمایه گذاری و ذخیره می کند و بسیاری از آنها را cache می کند. پس از جمع آوری اطلاعات گوگل با حجم بالایی از داده ها مواجه است که باید آنها را تحلیل کند تا در زمان جستجو در کوتاهترین زمان به کاربر پاسخ دهد و اینجاست که وجود سیستم فایل توزیع شده ی قدرتمند مهم است. با توجه به این افزایش حجم داده های پردازشی گوگل آنها تصمیم گرفتند سیستم فایل توزیع شده ی گوگل GFS را طراحی کنند. این سیستم فایل، یک سیستم فایل قوی با قابلیت تحمل خطای بالا است که بر اساس تکه کردن داده ها عمل می کند و متشکل از صد ها یا هزاران ماشین ذخیره سازی بوده که بسیار ارزان قیمت بودند. با توجه به اینکه گاهی لازم بود با داده های چند گیگابیتی کار کند و مدیریت این داده ها نسبت به تعداد زیادی از داده های کوچکتر سخت تر بود در پیاده سازی پارامتر هایی در GFS مانند اندازه بلاک ها و اعمال IO تجدید نظر می شد.[4]

سیستم فایل توزیع شده ی Hadoop پس از GFS ارائه شد. علاوه بر این سیستم فایل توزیع شده ی آمازون به نام S31 نیز وجود دارد که به عنوان یک سرویس وب برای ذخیره سازی داده ها در محیط رایانش ابری آمازون فراهم شده است. شرکت Dell نیز با ارائه یک راهکار ذخیرهسازی جدید، که یک دستگاه ذخیرهسازی در ابعاد و مقیاس بزرگ برای مصارف داده های حجیم است، تمایل خود را برای تبدیل شدن از یک شرکت ارائهدهنده محصولات سختافزاری به یک شرکت ارائهدهنده راهکارها و سرویسهای شبکههای گسترده نشان داد. [1]

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید