بخشی از مقاله
مروری بر تکرار داده ها در محاسبات ابری
خلاصه
محاسبات ابری به برنامهها و سر ویسهایی اشاره دارد که در یک شبکه توزیعشده اجرا می شوند و از منابع مجازی استفاده می کنند و همچنین قابلیت های فناوری اطلاعات را به عنوان یک سرویس به کاربران شبکه ارائه می دهد. تکرار دادهها یک تکنیک مهم برای مدیریت دادههای انبوه به صورت توزیعشده میباشد .ایده کلی تکرار دادهها، قراردادن تکرارها در مکانهای مختلف میباشد؛ در حالتی که چندین تکرار از فایلی خاص در سایتهای مختلف وجود دارد. یکی از مهمترین مسائلی که در مدیریت داده ها مطرح است، چگونگی برخورد سیستم با تکرارها است .اینکه کدام فایلها تکرار شوند، در چه زمانی تکرار دادهها ایجاد شود و این تکرار در کجای سیستم قرار داده شود تا بازدهی کلی بالا برود، از جمله مسائلی است که پیرامون آنها بحث، تبادل نظر و تحقیقات وسیعی در جریان است.
واژههای کلیدی: محاسبات ابری، تکرار دادهها، استراتژی،گذاشتن تکرار،دسترسی.
1
1. مقدمه
موسسه ملی فناوری و استانداردها (NIST) رایانش ابری را این گونه تعریف می کند : رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی (شبکهها ، سرورها ، فضای ذخیره سازی ، برنامههای کاربردی و سر ویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس ، به سرعت فراهمشده یا آزاد گردد.[1]
شکل((1 حوزههای مختلف در محاسبات ابری [2]
1,1 حوزههای مختلف محاسبات ابری
محاسبات ابری بر اساس جنبههای مختلف فنی و اقتصادی به چندین حوزه مختلف تقسیم شده است . با توجه به در دسترس بودن سرویس ها، انواع ابرها بیان می شود و براساس دامنه کاربرد انواع سرویس ها مطرح می شود و سپس به ویژگی های محاسبات ابری می پردازیم. شکل 1 حوزههای مختلف در محاسبات ابری را نشان می دهد.
1,1,1 با توجه به در دسترس بودن سر ویسها
محاسبات ابری با توجه به در دسترس بودن سرویس ها به سه دسته تقسیم می شوند : -1 ابر عمومی : سر ویسهای محاسبات ابری برای کاربران مبتنی بر pay-per-use در دسترس عموم هستند . -2 ابر خصوصی: سر ویسهای محاسبات ابری خارج از محیط سازمان در دسترس نیستند. -3 ابر ترکیبی :وقتی ابر خصوصی قادر به ارائه سر ویسها برای درخواستهای آینده نیست آنها را برای برخی از ابرهای عمومی می فرستد.
2,1,1 بر اساس دامنه کاربرد
زیرساخت به عنوان یک سرویس (IaaS) ابر: محاسبات ابری به زیرساخت ،به عنوان یک سرویس ابر اشاره می کند. آنها از طریق مجازی سازی قادر به تقسیم ، تعیین و تغییر اندازه پویا منابع هستند.و سیستم های ad-hoc یا ( ذاتی ) را به عنوان تقاضا برای مشتریان می سازند.
پلت فرم به عنوان یک سرویس (PaaS) ابر: سیستم های محاسبات ابری ، پلت فرم های نرمافزاری را ارائه میدهند که می توانند برنامههای کاربردی و سر ویسها را اجرا کنند.
2
زیرساخت به عنوان یک سرویس (SaaS) ابر: SaaS جایگزینی برای اجرای برنامههای کاربردی به صورت محلی است .
3,1,1 ویژگی های محاسبات ابری
ویژگی های محاسبات ابری شامل موارد زیر هست:
مجازی سازی: این لایه بر روی منابع فیزیکی است که استفاده بهینه از منابع فیزیکی را می تواند به دست آورد. این لایه منابع مجازی را که ممکن است بر روی یک یا چند ماشین فیزیکی باشند فراهم می کند.
پیکربندی مجدد به صورت پویا:منابع را می توان به صورت پویا پیکربندی مجدد کرد و بار متغیر را تنظیم کرد و استفاده بهینه از منابع را ارائه کرد.
مقیاسپذیری: مقیاسپذیری به دلیل مجازی سازی و قابلیت اضافه کردن منابع مجازی جدید در استخر منابع است. محاسبات ابری قابلیت مقیاسپذیری را برای برنامههای کاربردی بزرگی که در آنها ممکن است بار در هر زمان افزایش یابد فراهم می کند.
: Pay-per-use یک کاربر ابر فقط لازم است بر اساس زمانی که او از منابع استفاده میکند و میزان منابع پرداخت نماید . SLA : Service level agreement توافقنامه بین ارائهدهنده سرویس زیرساخت ابر و ماشین است. SLA ، دستههای شرکتکننده ، طول عمر سرویسها ، مجازات کیفیت خدمات و غیره. [2]
شکل((2 حوزههای مختلف در گسترش علم ابر داده 8]،7،[3
3
.2 گسترش علم ابر داده
گسترش علم ابر داده ، یک کلود توزیعشده برای مدیریت ، آنالیز ،بایگانی و اشتراگ دیتاست های علمی است. در واقع اندازه دیتاست ها از مگابایت به گیگابایت و ترا بایت افزایش پیدا میکند .در شکل3 مشاهده می کنید که افزایش تقاضای دادههای پیچیده با افزایش اندازه های دادهها که در دیتاست ها تجزیه و تحلیل میشوند، همراه است . محدودیت پایگاه دادههای فعلی و گریدها برای علم دادههای فشرده ، در حال شفاف سازی است و معماری های جدید محاسباتی در حال توسعه است.[3]
شکل((3 رشد درخواست های داده و اندازه دادهها [3 ]
الگوهایی محاسباتی جدیدی معرفی شده اند از جمله محاسبه بر طبق تقاضا 1، محاسبه توزیعشده ، محاسبه مجتمع با داده کاوی هستند.
همانطور که در شکل 4 می بینیم ، دادهها در 3 اندازه هستند: دیتاست های کوچک ، دیتاست های متوسط به بزرگ و دیتاست های خیلی بزرگ . منظور از دیتا ست های کوچک ، دیتاست هایی به اندازه کوچک است که برای یک دانشمند آسان است که آن را با یک ایستگاه کاری مدیریت کند. منظورمان از دیتا ست های خیلی بزرگ ، یک دیتاست به اندازه کافی بزرگ است که به مدیریت دادههای ویژه زیرساخت نیاز میشود. یک مثال خوب LHC2 محاسبات گرید توسعه یافته است. چالشی که وجود دارد این است که تعدادبسیاری از دیتاست های متوسط به بزرگ رو به رشد هستند و مدیریت آن ها سخت است [3 ].
4
شکل (4) اندازه دادهها در [3 ] OSDC
1OSDC در سال 2010 شروع شد و یک انبار توزیعشده و پایدار است و برای منابع محاسباتی طراحی شده برای مدیریت ، تجزیه و تحلیل و اشتراک گذاری دادههای علمی ، به خصوص برای دیتاست های متوسط به بزرگ مفید است. OSDC یک پلت فرم میزبان است و توسط یک نهاد واحد (گسترش کنسرسیوم ابر( 2 مدیریت شده است که یک سازمان مجازی یا فدرال نیست.هنگامی که دادهها توسط OSDC پذیرفته میشوند ؛ هدف OSDC مدیریت و فراهم کردن دسترسی به دادهها از آن زمان به بعد است. هدف گسترش کنسرسیوم ابر، افزایش سرمایه های مالی است .
در حال حاضر ذخیره سازی دیتاست های متوسط به بزرگOSDC توسط Hadoop یا Sector برای ابرهای دادههای بزرگ ارائه شده است.همچنین OSDC ، Elastic را بر روی ماشین های مجازی پشتیبانی میکند مشابه سرویس EC2 آمازون است.[3 ]
1,2 چالش های تحقیق در گسترش علم ابر داده
آرشیو دادههای دیجیتال.این یک چالش برای حفظ دادههای دیجیتال برای مدت زمان طولانی است و مشکلات عبارتند از : حرکت به فرمت جدید ، مهاجرت به رسانه های جدید ، دوباره سازی رسانه های فعلی، از دست دادن توانایی به منظور تفسیر دادههایی که آرشیو میشوند .
رایانش ابری. رایانش ابر هنوز یک استاندارد تعریف شده ندارد اما معمولاٌ توسط NIST توسعه یافته شده است. شبکه های بر طبق تقاضا، به یک استخر مشترک از منابع محاسباتی و قابل پیکربندی دسترسی دارند که می توانند به سرعت، با کمترین تلاش مدیریت و تعامل ارائه دهنده سرویس تهیه شوند و رها شوند. برای این منظور ما به سمت پلت فرم های رایانش ابری می رویم که نه تنها نمونه های محاسباتی بر طبق تقاضا را فراهم می کنند بلکه از محاسبات دادههای فشرده حتی برای دیتاست های خیلی بزرگ نیز حمایت می کنند.[3 ]
5
2,2 معماری گسترش علم ابر داده
معماری گسترش علم ابر داده (OSDC) شامل معماری سخت افزار، معماری نرم افزار و معماری مهاجرت می باشد. معماری سخت افزار : سخت افزار برای OSDC متشکل از کامپیوتر های شبکه شده با اتصال وسیله 1GE است که متعادل سازی میشود به گونه ای که برای هرهسته یک دیسک وجود داشته باشد. از طرف دیگر در حال حاضر با اختصاص یک محور1 در هر هسته متعادل سازی می کنیم.یک سیستمی که بیشتر محاسبه میکند؛ معمولاٌ هسته های بیشتر و محور های کمتری دارد و یک سیستمی ک معمولاٌ برای ذخیره سازی استفاده میشود هسته های کمتر و محور های بیشتر دارد. توجه داشته باشید این معماری که یک محور برای هر هسته استفاده میکند ؛ از معماری استاندارد یک پایگاه داده متفاوت است که شامل یک ایستگاه کاری در انتهای فوقانی است و به یک RAID یا محل انبار شبکه متصل شده است.
معماری نرم افزار: پشته نرم افزارOSDC شامل سیستم فایل توزیعشده Hadoop و پیاده ساز Hadoop از MapReduce و سیستم Sector که یک سیستم ذخیره ساز گسترده و یک پیاده ساز از هر دوMapReduce و Cloud-wide تابع های تعریف شده کاربر (2UDF) فراهم میکند . UDF توسط Sector برای ارتباط بین نودها هم در داخل و هم در سراسر دیتاسنتر استفاده میشود.
معماری مهاجرت: در فاز اولیه از OSDC ، هر سال برای مخارج ،حدود یک میزان مساوی از ظرفیت برای به دست آوردن قفسه3 های جدید و برکنار کردن آنهاتقریباٌ، بعد از3 سال برنامه ریزی می کنیم. پیش بینی می کنیم که در طول زمان ممکن است دیسک با رسانه ای با وضعیت قابل اعتماد( یا هر آنچه به عنوان یک جایگزین برای دیسک وجود داشته باشد) عوض شود. ما از توانایی Hadoop وSector (و هر آنچه برای جایگزین آنها وجود داشته باشد) استفاده خواهیم کرد و طور خودکار دادهها را تکرار می کنیم به گونه ای که همیشه نسخه ها در دسترس در همان دیتا سنتر موجود باشد و حداقل در یک دیتا ست دیگر وجود داشته باشد.
از آنجا که هر دو Hadoop وSector ، دادهها را تکرار می کنند ؛ به صورت خودکار ؛ وقتی یک قفسه حذف میشود ویا وقتی یک قفسه اضافه میشود ؛ مشکل دوباره سازی4 دادهها از طریق استراتژی اضافه کردن دیسک جدید و مناسب(و یا هر وسیله مناسب دیگرکه توسط نرم افزار شناخته میشود) ، مدیریت میشود.[3 ]
.3 تکرار دادهها
یکی از راه های افزایش دسترسی به اطلاعات، کاهش زمان اجرای کارها، کاهش مصرف پهنای باند در سیستمهای گرید و به طور کلی بهبود عملکرد کلی سیستم، استفاده از یک روش به روز و مناسب جهت مدیریت داده هاست .این روش "تکرار داده "نام دارد.[4] تکرار داده، یک تکنولوژی مهم جهت تسریع دسترسی به دادهها و روشی برای مدیریت داده های انبوه به صورت توزیعشده
است .ایده کلی تکرار دادهها، قرار دادن تکرارها در مکانهای مختلف می باشد؛ در حالتی که چندین تکرار از فایلی خاص در سایتهای مختلف وجود دارد.[4] این روش، یک راه مؤثر برای بدست آوردن کارائی بالاتر و قابلیت دسترسی بیشتر با ذخیره کردن تکرارهای متعدد در نقاط
مختلف است و همچنین، برای کاهش مصرف پهنای باند و هزینه دسترسی در محیط گرید نیز کاربرد دارد .تکرار داده باید
6
دارای شفافیت تکرار باشد .شفافیت تکرار، پنهان کردن این حقیقت است که چندین تکرار از یک منبع در سیستم گرید وجود دارد .چندین نکته وجود دارند که الگوریتمهای تکرار داده باید آنها را در نظر داشته باشند5]،:[6
طبیعت پویا :گرید دارای طبیعتیکاملاً پویا می باشد و کاربران هر لحظه میتوانند به یک گره متصل شده و یا از آن جدا شوند .بنابراین اجزای شرکت کننده در گرید در هر لحظه متفاوت می باشند .الگوریتم تکرار داده در گرید باید قابل انطباق با تغییرات گرید باشد تا بتواند نتایج بهتری ارائه دهد.
معماری گرید داده :تکنیکهای تکرار دادهکاملاً وابسته به معماری گرید هستند و بر اساس معماری مطرح شده در آن، طراحی می شود .یک گرید داده می تواند از طریق چندین نوع معماری پشتیبانی شود که این معماری می تواند یک معمار چند لایه باشد .معماری چندلایه یک معماری با ساختاری شبیه به درخت است که گره ها در آن به صورت سلسله مراتبی مرتب شده اند .از دیگر معماری های پیشنهادی برای محیط گرید می توان به معماری تخت و ترکیبی اشاره کرد. تصمیمگیری :تکرار داده در گرید باید تصمیمگیری های بحرانی و حساسی را انجام دهد .از جمله این تصمیم ها می توان به اینکه کدام فایلها، در کجا و چه زمانی باید تکرار شوند، اشاره کرد .بر اساس پاسخ به این سوال ها، تکنیک های متفاوت تکرار داده تعریف می شوند.
فضای ذخیره سازی در دسترس :با اینکه عناصر ذخیره سازی در این روزها بسیار ارزان شده اند، استراتژی های تکرار داده هنوز باید به میزان فضای در دسترس ذخیره سازی در محیط گرید، قبل از ایجاد تکرار توجه داشته باشند .در صورتی که فضای کافی برای تکرار موجود نباشد، استراتژی های مناسب جایگزینی فایل باید اتخاذ شوند.
هزینه تکرار :استراتژی های تکرار داده باید به گونه ای تعریف شوند که منافع تکرار بیشتر از هزینه تحمیل شده آنها بر سیستم باشد.
1,3 مزایا و معایب تکرار داده
از مزایای تکرار داده در گرید داده می توان به موارد زیر اشاره کرد :
افزایش دسترس پذیری 1 :وجود تکرارهای مختلف باعث می شود که اگر یک نمونه از منابع تکرار شده نتوانست به درخواست کاربران پاسخ دهد، منبع دیگر بتواند این کار را بکند .به عنوان مثال، اگر یک نمونه از داده های تکرار شده از بین رفت و نتوانست پاسخگوی نیاز کاربران باشد، نمونه دیگر تکرار شده این کار را انجام می دهد .به عبارت ساده تر هر چه تعداد تکرارها زیادتر باشد، آن داده دردسترس تر است .تکرار داده مهمترین روش برای افزایش دسترسی پذیری است. افزایش قابلیت اطمینان :هر یک از منابع داده ممکن است به دلایل متعددی از بین بروند، در این صورت اگر فقط یک نمونه از آن داده در سیستم موجود باشد؛ از بین رفتن داده عملکرد کل سیستم را مختل خواهد کرد .با وجود تکرارهای مختلف از داده، در صورت از بین رفتن یک نمونه از آن، سایر نمونه ها می توانند در دسترس باشند و از مختل شدن کل سیستم جلوگیری کنند.
افزایش کارایی :وجود تکرارهای مختلف داده در سیستم باعث می شود، با توزیع مناسب درخواست های داده ای کاربران بین سرویس دهنده های مختلف، از افزایش بیش از اندازه بار بر روی یک سرویس دهنده جلوگیری شود .زیرا با افزایش بیش از اندازه بار یک سرویس دهنده، زمان پاسخ دهی آن سرویس دهنده به درخواست های کاربران افزایش مییابد که این امر، کارایی کل سیستم را تحت تأثیر قرار می دهد .فاکتور دیگری که تکرار داده با تاثیرگذاری بر آن، برکارایی کل سیستم تأثیر می گذارد، پهنای باند مصرفی است .یک منبع داده ممکن است از هر نقطه از سیستم گرید توسط کاربران درخواست شود .اگر فاصله کاربر درخواست کننده از منبع زیاد باشد، انتقال داده درخواست شده از منبع به کاربر باعث استفاده زیاد از پهنای باند می شود .این امر در سیستمهایی که با داده هایی با اندازه بزرگ سروکار دارند و در حوزه وسیع