مفاهیم پایه

سيستم‌هاي فايلي در عصر کلان داده

۰

میانگین امتیاز

به این متن امتیاز دهید!

امتیاز کاربران: ۴٫۶۸ ( ۲ رای)

مايکروسافت و سيستم فایلی ‌توزيع شده Azure

زماني که مايکروسافت «پلتفرم به عنوان سرويس» اَژِر را راه‌اندازي کرد، اين شرکت نيز با نيازمندي‌هايي مشابه آمازون مواجه شد. از جمله اين نيازمندي‌ها، حجم گسترده‌اي از فضاي ذخيره‌سازي با کاربردهاي عمومي بود. اما از آنجا که هدف مايکروسافت ارائه PaaS است در نتيجه اين شرکت به روشي مشابه با پروژه EC2 شرکت آمازون، زيرساخت خود را در اختيار مشتريان قرار نمي‌دهد. ويژگي اين سرويس آن است که هدف اصلي از آن ايجاد زيرساختي بود که بتواند به مشتريان محيط ابري پاسخ‌ دهدنه این‌که محیطی را برای پاسخ دادن به نیازها و عملکردهای حیاتی خود سازمان فراهم آورد.

“در سيستم فايلي اژر، کل متاديتاي يک از پارتيشن‌ها به مجموعه‌اي از سرورهاي مرجع پارتيشن کپي مي‌شود. به اين ترتيب، در صورت خرابي سرور پارتيشن، کپي پشتيبان از داده وجود خواهد داشت.”

بنابراين، از بعضي جهات معماري ذخيره‌سازي اژر مشابه با سيستم‌فايلي شرکت آمازون است، يعني اژر نيز براي مديريت حباب‌هاي داده (انواع مختلفي از فايل‌هاي دودويي، جدول‌ها و ساير داده‌ها)‌ با اندازه‌های مختلف طراحي شده‌است و در اين روش نيز هدف، دسترسي سريع به کوچک‌ترين اجزاي داده است. اما در اين روش به جاي مديريت نگاشت فيزيکي و منطقي داده در خود نودها، در سيستم‌فايلي اژر، تکه‌تکه‌کردن فيزيکي و منطقي داده در لايه‌هاي مجزاي سيستم انجام مي‌شود. زماني که درخواست‌‌هاي داده بر اساس يک آدرس منطقي يا همان پارتيشن مسيردهي مي‌شود، سیستم‌فایلی توزیع شده که خود به قطعاتی در مقیاس گیگابایت با نام اکستِند (extent) تقسیم‌بندی شده است، ‌در اختیار برنامه قرار می‌گیرد. اين روش به نوعي ترکيب هر دو روشي است که گوگل و آمازون از آن استفاده مي‌کنند. نحوه انجام فرآيند فوق در قالب شکل ۴ مشاهده مي‌شود. همان‌طور براد کالدر(Brad Calder) از مايکروسافت در بررسي معماري ذخيره‌سازي اژر عنوان کرده‌است، اين سيستم‌فايلي از يک سيستم مبتني بر کليد استفاده مي‌کند که مشابه روش پياده‌سازي شده در داينامو است تا به اين ترتيب محل فايل را پيدا کند. اما در مرحله بعد، به جاي آن‌که خود برنامه يا سرويس به طور مستقيم با نودهاي ذخيره‌سازي ارتباط برقرار کند، اين درخواست از طريق يک رابط لايه Front-end انجام مي‌شود. وظيفه اين لايه حفظ نگاشت مربوط به پارتيشن‌هاي داده است و وظيفه‌اي مشابه با سرور NameNode در معماري HDFS را ايفا مي‌کند. بر خلاف HDFS، در اژر از چندين سرور اصلي استفاده مي‌شود که درخواست‌ها به طور متوازن بين آن‌ها، پخش مي‌شود. سرورهاي اصلي وظيفه پاسخ‌گويي به تمامي درخواست‌هاي کلاينت‌ها را دارند و همچنين وظيفه تعامل با لايه بعدي يعني لايه پارتيشن نيز بر عهده اين سرورها است.
هر قطعه منطقي از فضاي ذخيره‌سازي در اژر توسط يک سرور پارتيشن،‌ مديريت مي‌شود. وظيفه اين سرور رديابي و شناسايي اکستندهایی از لايه زيرين سيستم فايلی‌ توزيع‌شده است که وظيفه نگه‌داري داده را بر عهده دارند. سرور پارتيشن وظيفه نوشتن و خواندن به ازاي مجموعه اشيای‌ ذخيره‌سازي مشخصي را بر‌عهده دارد. رسانه فيزيکي ذخيره‌سازي متناسب با آن اشيا در سطح اکستندهای آن سیستم‌فایلی، توزيع شده‌اند و به اين ترتيب همه سرورهاي پارتيشن به تمام اکستندها دسترسي دارند. علاوه بر قابليت بافر‌‌کردن داده دريافتي از سیستم فایلی توزیع شده، سرورهاي پارتيشن وظيفه خواندن و نوشتن درخواست‌ها را نيز بر عهده دارند. همچنين سرورهاي پارتيشن وظيفه ذخيره درخواست‌ها در حافظه را نيز برعهده مي‌گيرند. در نتيجه مي‌توانند درخواست‌هاي تکراري را بدون نياز به مراجعه به سيستم‌فايلي لايه زيرين، پاسخ‌ ‌دهند. اين مکانیسم سرعت پاسخ‌گويي را به ازاي داده‌هاي کوچک با درخواست بالا، افزايش مي‌دهد و شبيه مکانیسمی است که در بازسازي صفحات وب به کار مي‌رود.

کل متاديتاي هر يک از پارتيشن‌ها به مجموعه‌اي از سرورهاي مرجع پارتيشن کپي مي‌شود. به اين ترتيب، در صورت خرابي سرور پارتيشن، يک کپي پشتيبان از داده وجود خواهد داشت. اگر يکي از سرورها خراب شود،‌ پارتيشن‌هاي آن به صورت دايناميک به ساير سرورهاي پارتيشن منتقل مي‌شود. سرورهاي مرجع پارتيشن نيز وظيفه نظارت بر بار کاري هر سرور پارتيشن را در محيط کلاستر اژر بر عهده دارند. اگر يک سرور خاص با بار کاري بيش از اندازه مواجه شود،‌ سرور مرجع مي‌تواند به طور خودکار فرآيند انتصاب دوباره پارتيشن‌ها را انجام دهد.

fs3

نحوه عملکرد سیستم‌فایلی سه لایه اژر مایکروسافت

تفاوت اژر با ساير سيستم‌هاي فايلی توزيع‌شده در اين است که اين روش به شدت مسئله ثبات داده را در فرآيندهاي نوشتن داده کنترل و اعمال مي‌کند. کپي داده همزمان با ارسال درخواست نوشتن به سیستم‌فایلی، انجام مي‌شود اما اين روش با فرآيند کپي‌برداري همراه با تأخير که در GFS و HDFS شاهد آن بوديم، متفاوت است. هر اکستِند از رسانه ذخيره‌سازي توسط يک سرور اصلي DFS،‌ مديريت مي‌شود و کپي آن روي چندين سرور ديگر ايجاد مي‌شود. هر سرور DFS ممکن است براي زير مجموعه‌اي از اکستِندها به عنوان سرور اصلي و براي زيرمجموعه ديگري از آن‌ها به عنوان سرور جايگزين و اختياري تعريف شود. وقتي که يک سرور پارتيشن درخواست نوشتن را براي DFS ارسال مي‌کند، DFS با سرور اصلي مربوط به اکستِندی که قرار است داده روي آن نوشته شود، ارتباط برقرار مي‌کند و سرور اصلي درخواست نوشتن را براي سرورهاي ثانويه ارسال مي‌کند. نوشتن داده زماني موفقيت‌آميز اعلام مي‌شود که کپي آن نيز با موفقيت روي سه سرور ثانويه ايجاد شده‌باشد. DFS اژر، درست همانند لايه پارتيشن‌ها، از فرآيندهاي توزيع بار ميان سرورهاي فيزيکي استفاده مي‌کند تا مانع قفل شدن سيستم‌ها به واسطه I/O زياد شود. هر سرور پارتيشن وظيفه نظارت بر بار کاري سرور اصلي اکستِندها را بر عهده دارد. زماني که سرور DFS اصلي به آستانه خطر برسد،‌ سرور پارتيشن درخواست‌هاي خود را به سرورهاي ثانويه ارسال مي‌کند و فرآيندهاي نوشتن را نيز به اکستِندهای مستقر در ساير سرورها ارجاع مي‌دهد.

سطح بعدي توزيع‌شدگي

سيستم‌هاي ‌فايلي توزيع‌شده به سختي مي‌توانند تضمين کنند که دسترسي‌پذيري به سيستم براي هميشه پابرجا خواهد بود. در بيشتر موارد DFSها کپي‌هاي داده را در همان مرکز داده ذخيره مي‌کنند و اين مسئله به دليل پهناي باندي است که براي کپي‌برداري داده و همزمان‌سازي آن، مورد نياز است. اما کپي‌برداري در داخل يک مرکز داده نمي‌تواند در موردي که کل مرکز داده از مدار خارج مي‌شود، پاسخ‌گو باشد. زماني که سوئيچ اصلي شبکه با خطا مواجه شده و سوئيچ پشتيبان نيز خراب شود با شرايط مشابهي روبه‌رو خواهيم شد. در ماه آگوست مراکز داده مايکروسافت و آمازون در شهر دوبلين از مدار خارج شدند که اين مشکل به دليل انفجار يک ترانسفورماتور اتفاق افتاد و ساير ترانسفورماتورها نيز نتوانستند جايگزين آن شوند.

“کپي برداري جغرافيايي يا Geo-replication در واقع قابليتي است که مي‌تواند داده‌هاي مشتريان را بين دو مرکز داده که صدها مايل از هم فاصله دارند، همسان‌سازي کند.”

سيستم‌هايي نظير GFS و هادوپ که از کپي‌برداري تأخيري استفاده مي‌کنند، مي‌توانند داده‌ها را به صورت غيرهمزمان بين دو مرکز داده کپي‌برداري کنند. به عنوان مثال، کلاسترهاي هادوپ مي‌توانند با استفاده از پارامتر rack awareness طوري تنظيم شوند که يک کپي از داده را در DataNode مستقر در يک مرکز داده ديگر، ذخيره کنند و متادیتا نيز مي‌تواند براي يک نود پشتيباني يا کنترل کننده ارسال شود. اما اين روش کپي‌برداري براي داده‌هايي با ماهيت پويا و دايناميک با مشکلات مديريتي همراه خواهد بود. به همين دليل مايکروسافت در ماه سپتامبر سال۲۰۱۱، مفهومي به نام کپي برداري جغرافيايي يا Geo-replication را معرفي کرد. اين مفهوم در واقع قابليتي است که مي‌تواند داده‌هاي مشتريان را بين دو مرکز داده که صدها مايل از هم فاصله دارند، همسان‌سازي کند. به جاي فرآيند بسيار سفت و سختي که مايکروسافت از آن در داخل مراکز داده استفاده مي‌کند، مفهوم مذکور به صورت غير همزمان انجام مي‌شود. هر دو مرکز داده اژر بايد در يک ناحيه باشند. براي مثال، داده‌هاي برنامه‌اي که در مرکز داده شمال مرکزي امريکا مستقر است،‌ مي‌تواند در مرکز داده ديگر در جنوب مرکزي امريکا،‌ کپي‌برداري شود. درمورد آمازون، ‌اين شرکت فرآيند کپي‌برداري را در سطح کليه نواحي در دسترس ارائه مي‌دهد اما در سطح سرويس و نه در قالب معماري داينامو. هرچند آمازون هيچ اطلاعاتي را در مورد geo-replication خود ارائه نکرده‌است، اما به مشتريان خود امکان مي‌دهد تا رسانه ذخيره‌سازي EBS خود را روي يک S3 دور دست کپي‌برداري کنند.

اما روشي که آمازون و گوگل براي تکامل سيستم‌فايلي خود در نظر گرفته‌اند، به اين صورت است که تغييرات را در سرويس‌هاي مبتني بر اين فايل سيستم‌ها، و نه در معماري زيرساخت، اعمال کنند. در حالي‌که گوگل، يک سيستم مرجع توزيع‌شده را به GFS افزوده و از روش‌هاي ديگر براي سازگاري با محيط و جريان‌هاي داده در حال رشد اين شرکت استفاده می‌کند، معماري زيربنايي سيستم‌هاي گوگل هنوز به شدت شبيه به آن چيزي است که در سال ۲۰۰۳ ارائه شد. اما در طولاني‌مدت، خود ‌سيستم‌های فايلی ممکن است بيشتر روي اين تمرکز کنند که به آرشيوي از داده تبديل شوند نه چيزي که برنامه‌ها به صورت مستقيم به‌ آن دسترسي پيدا مي‌کنند. مايکل استون‌بريکر (Michael Stone braker) ‌يکي از پيشگامان پايگاه‌هاي داده‌و مؤسس VoltDB، در همین زمینه به این نکته اشاره می‌کند که با افزايش حجم داده‌ و برنامه‌هاي مبتني بر داده‌هاي عظيم، حافظه سيستم در حال تبديل شدن به ديسک جديد است و سیستم‌های فایلی، ‌جايي هستند که اطلاعات جزئيات عملکرد سيستم (Log) در آن ذخيره مي‌شود يعني ديسک‌ها جايگزين نوارهاي مغناطيسي (قديمي) مي‌شوند.

در نهايت، بايد توجه کرد که به موازات تلاش غول‌هاي ارائه دهنده محيط ابري براي دست‌يابي به کارايي بيشتر و عملکرد بهتر در سطح مراکز داده، اين شرکت‌ها از چندي پيش به سراغ ديسک‌هاي حالت جامد يا SSD رفته‌اند‌ و به‌طور دائم به حافظه اصلي سيستم‌هاي مورد استفاده خود، مي‌افزايند.

 

برگهٔ قبلی 1 2 3 4

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا