مفاهیم HDFS

HDFS

هنگامی که حجم یک مجموعه داده به حدی زیاد می شود که دیگر یک ماشین به تنهایی قادر به نگهداری آن نیست، بحث پارتیشن سازی داده و تقسیم آن بروی چندین ماشین مجزا مطرح می گردد. فایل سیستم هایی که مدیریت ذخیره سازی اطلاعات در سطح شبکه ای از ماشین ها را عهده دار هستند، فایل سیستم های توزیع شده می نامند. از آنجایی که آنها بر پایه مباحث شبکه طراحی می شوند، لذا تمامی پیچیدگی های برنامه نویسی شبکه می بایست مورد بررسی قرار گرفته شود، از این رو ایجاد فایل سیستم های توزیع شده بسیار پیچیده تر از تولید فایل سیستم های معمول می باشند. برای مثال، یکی از بزرگترین چالش های موجود در این نوع فایل سیستم ها امکان مواجه با Node Failure بدون از دست رفتن داده می باشد.

هدوپ دارای یک فایل سیستم توزیع شده با نام Hadoop Distributed File System) HDFS) می باشد.مفاهیم HDFS بهترین و مهمترین فایل سیستم هدوپ است.

طراحی HDFS

HDFS فایل سیستمی است که به منظور نگهداری فایل های بسیار بزرگ با الگوهای دسترسی جریان داده و اجرا روی کلاستری از ماشین ها طراحی شده است. در زیر با جزئیات بیشتری به تعریف ارائه شده می پردازیم:

فایل های بسیار بزرگ

“بسیار بزرگ” در اینجا منظور فایل هایی با اندازه چند صد مگابایت، گیگابایت، و یا ترابایت می باشند. امروزه کلاسترهایی از هدوپ بصورت عملیاتی وجود دارند که در حدود چند پتابایت داده را نگهداری می نمایند.

دسترسی جریان داده

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

کلاستری از ماشین ها

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

البته HDFS یک فایل سیستم توزیع شده فراگیری نمی باشد، از این جهت که محیط هایی هستند که این فایل سیستم با توجه به تعریف آن در آنها جایگاهی ندارد:

دسترسی داده با حداقل وقفه

برنامه های کاربردی وجود دارند که تاخیر در بازه ده ها میلی ثانیه هم در آنها اهمیت زیادی دارد، که در این شرایط انتخاب HDFS کار درستی نمی باشد. توجه داشته باشید، HDFS به منظور ارائه یک حجم عظیمی از داده بهینه سازی شده است، که این ممکن است با تاخیر همراه باشد. HBase (در مطالب آتی در مورد آن صحبت خواهیم کرد) در حال حاضر گزینه ای است که می توان بجای HDFS از آن به منظور دسترسی داده با حداقل وقفه استفاده نمود.

تعداد زیادی فایل کوچک

از آنجایی که Namenode (در مطالب بعدی در مورد آن صحبت خواهیم کرد) فراداده (Metadata) مربوط به فایل سیستم را در حافظه نگهداری می نماید، محدودیت تعداد فایل ها در یک فایل سیستم توسط میزان حافظه موجود در Namenode مدیریت می شود. به عنوان یک قائده کلی، هر فایل، دایرکتوری و Block در حدود ۱۵۰ بایت فضا اشغال می کند. بنابراین، برای مثال، اگر یک میلیون فایل وجود داشته باشد و هر کدام یک Block را به خود اختصاص دهند، حداقل ۳۰۰ مگابایت حافظه نیاز می باشد. ممکن است بتوان میلیونها فایل را ذخیره و نگهداری کرد، اما به نظر نمی رسد که توانایی ذخیره سازی چندین میلیارد فایل با سخت افزار معمول وجود داشته باشد.

چندین نویسنده، اصلاحات دلخواه فایل

در HDFS ممکن است تنها یک نویسنده وظیفه نوشتن در فایل ها را برعهده داشته باشد، و این عمل همیشه در انتهای فایل صورت می گیرد. هچگونه امکانی برای داشتن چندین نویسنده وجود ندارد، و یا انجام اصلاحات دلخواه در نقاط مختلف یک فایل امکان پذیر نمی باشد.

بررسی فایل سیستم HDFS از APACHE HADOOP بخش اول

بررسی فایل سیستم HDFS از APACHE HADOOP بخش دوم

 

سایت اوراکل فارسی راه اندازی شد.برای مشاهده سایت اینجا کلیک نمایید.

جهت دانلود دوره های آموزشی تصویری با موضوع آموزش هادوپ روی موضوعات زیر کلیک نمایید.

 

محسن صفابخش

محسن صفابخش

با سلام محسن صفابخش هستم .کارشناس و متخصص داده هایی با حجم و مقیاس کلان ازینرو در حال حاضر در یکی از بزرگتربن سایت های ایران در زمینه مدیریت و نگهداری از دیتابیس های اوراکل آن مشغول به فعالیت می باشم.

More Posts - Website

Follow Me:
LinkedInGoogle PlusYouTube

پاسخی بگذارید

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