سامانه ذخیرهسازی توزیع شده و غیرمتمرکز هیولا امکان ذخیرهسازی و پردازش همزمان حجم بالایی از اطلاعات را بدون ایجاد یک گلوگاه واحد فراهم میکند. هیولا مبتنی بر سوئیفت توسعه یافته است. سوئیفت، یک سامانه توزیع شده ذخیره اشیاء از بستر محاسبات ابری OpenStack است که دو هدف فراهم کردن دسترسپذیری و ماندگاری دادهها را دنبال میکند. به کمک این سامانه میتوان مجموعهای از دستگاههای ذخیرهسازی (مانند هارددیسک) و منابع پردازشی را در یک خوشه یا کلاستر سازماندهی کرد.
هیولا فضای ذخیرهسازی نرمافزار محور برای دادههای غیرساختیافته و به عنوان جایگزینی برای فضاهای ذخیرهسازی مبتنی بر سختافزار، پیچیده و گرانقیمت میباشد. استفاده از الگوی طراحی پراکسی بصورت توزیع شده و غیرمتمرکز امکان مقیاسپذیری خطی را در ذخیره و بازیابی اطلاعات بر اساس نیازمندیهای مختلف از نظر سطوح دسترسی، نوع دسترسی، نوع پردازش و غیره فراهم میکند. تمام نودهای پراکسی به یک تابع مشترک ثابت برای آدرسیدهی فایلها دسترسی دارند که قدرت تحمل خطای شبکه را از نظر تعداد نقاط دسترسی به میزان دلخواه قابل مدیریت میکند.
نمایی از معماری مرجع سیستم فایل هیولا در زیر ارائه شده است که مشتمل بر لایههای مختلف ارائه سرویس ذخیرهسازی (اصلی، جانبی و میان افزارها)، اجزای سامانه نظارتی هیولای ۳۶۰ (مشتمل بر نظارت بر عملکردهای سامانه و کارایی سامانه) و اجزای فوق ناظر هیولا (مشتمل بر سرویسهای پشتیبانی از عملیات توسعه، کنترل کیفیت، نصب و استقرار) و اجزای مختلف لایه دسترسی میباشد.
معماری مفهومی
شکل 2 معماری مفهومی سامانه هیولا را نشان میدهد. سرورهای ذخیرهسازی محل نگهداری تکرارهای دادهها به صورت کاملا توزیع شده هستند. با افزایش سرورهای ذخیرهساز میتوان ظرفیت سامانه را به تدریج از مقیاس چند ترابایت تا صدها پتابایت افزایش داد. همچنین، پراکسیها نقاط ورود درخواستهای خواندن/نوشتن به خوشه بوده و به صورت کاملا توزیع شده و بدون نقطه شکست واحد عمل میکنند. با تعریف پراکسیهای متعدد، علاوه بر گسترش افقی سامانه و افزایش درخواستپذیری آن، میتوان تحملپذیری در برابر خطا را نیز افزایش داد. به طوری که حتی با از کار افتادن تمام سرویسهای پراکسی به جز یکی، همچنان دسترسی به تمام دادههای خوشه امکانپذیر خواهد بود. سرویسهای توزیع شده و غیرمتمرکز برای مدیریت تکرار اشیا که بر روی هر یک از سرورهای سامانه بطور مستقل نصب میشوند، امکان دسترسپذیری بالا و ماندگاری دادهها را در بین نواحی دسترسی مختلف خوشه افزایش میدهند. این سامانه محدودیت سیستمفایلهای توزیع شدهای نظیر HDFS[1] که تنها برای اشیاء با سایز بزرگ مناسب هستند یا Ceph و Minio که دارای خاصیت سازگاری قوی بوده و از نظر توزیع جغرافیایی و دسترسپذیری اشیا با محدودیت مواجه هستند را ندارد. همچنین طراحی آن به گونهای است که امکان پردازش توزیعشده را بصورت دستهای و آنلاین (در هر دو حالت پیش پردازش و پس پردازش) دارد.
سلسله مراتب ذخیرهسازی در هیولا از نظر منطقی شامل پارتیشن، دیسک، سرور، بخش و ناحیه میباشد. تقسیمبندی هر دیسک بصورت منطقی به پارتیشن های مختلف امکان کنترل و مدیریت ریزدانه اشیاء را بر روی هر دیسک فراهم می کند. هر سرور ذخیره سازی میتواند شامل چندین دیسک باشد و مجموعه چند سرور که با هم در یک رَک قرار دارند یا به یک سوییچ واحد متصل هستند میتوانند یک خوشه یا بخش[2] را تشکل دهند. همچنین خوشه ها می توانند در سایت ها و نواحی[3] جغرافیایی مختلف توزیع شده باشند.
[1] Hadoop Distributed File System
[2] Zone
[3] Region