زمان مطالعه تقریبی: ۴ دقیقه
Hadoop یک چارچوب نرم افزاری منبع باز برای ذخیره داده ها و اجرای برنامه های کاربردی می باشد . Hadoop امکان ذخیره سازی انواع داده ها را با قدرت پردازشی زیاد فراهم می کند و توانایی انجام وظایف مختلف را به صورت هم زمان و بدون محدودیت دارد .
با پیدایش وب در دهه ۹۰ ، موتورهای جستجو از شاخص ها برای یافتن اطلاعات مربوط به محتواها استفاده می کردند . در آن زمان نتایج جستجوها توسط نیروی انسانی کنترل می شد ، اما با رشد وب این وظیفه به سیستم های اتوماسیون و خزنده های وب واگذار شد .
یکی از پروژه های مطرح در زمینه جستجوی وب Nutch نام داشت که در سال ۲۰۰۶ بخش مربوط به پردازش داده های آن به نام Hadoop مستقل گردید . در سال ۲۰۰۸ ، یاهو ؛ Hadoop را به عنوان یک پروژه منبع باز منتشر کرد . امروزه اکوسیستم فناوری Hadoop توسط بنیاد نرم افزار آپاچی مدیریت و نگهداری می شود . در زیر Time Line سیستم Hadoop را مشاهده می کنید :
اهمیت Hadoop را می توان در موارد زیر عنوان کرد :
-
توانایی ذخیره و پردازش مقادیر زیادی از داده ها با سرعت قابل قبول که برای حجم عظیمی از داده ها (Big Data) و اینترنت اشیاء می تواند بسیار کاربردی باشد .
-
Hadoop می تواند با قدرت بسیار زیاد مقادیر زیادی از داده های بزرگ(حجیم) را پردازش کند .
-
Hadoop در برابر خرابی سخت افزار و برنامه ها مقاوم است و برای افزایش اطمینان از محاسبات توزیع شده استفاده می کند . به همین دلیل دارای تحمل خطای بسیار بالایی می باشد .
-
برخلاف پایگاه داده های سنتی ، Hadoop نیازی به پردازش اولیه اطلاعات ندارد و پردازش می تواند در هر زمانی انجام شود .
-
Hadoop منبع باز و رایگان است بنابراین هزینه آن به شدت کاهش می یابد .
-
به راحتی می توان گره ها و اطلاعات بیشتری را به سیستم Hadoop اضافه کرد . در واقع Hadoop مقیاس پذیری خوبی دارد .
علیرغم تمامی موارد که در بالا ذکر شد Hadoop با چالش های متعددی مواجه است که در هنگام استفاده از آن باید به این چالش ها به دقت توجه کرد . در ادامه به معرفی مهم ترین چالش ها و نقاط ضعف Hadoop می پردازیم :
-
استفاده از Hadoop در کارهای ساده مناسب است اما در کارهای تحلیلی و تعاملی چندان کارآمد نیست . چرا که الگوریتم های تکرار نیاز به تکمیل فازهای مختلف و مرتب سازی مستمر دارند .
-
برای کار با Hadoop نیاز به مهارت های خاصی می باشد و این یک شکاف بین برنامه نویسان و توسعه دهندگان Hadoop ایجاد می کند . معمولا برنامه نویسان با مهارت های SQL راحت تر ارتباط برقرار می کنند .
-
یکی دیگر از چالش های مطرح در Hadoop مربوط به امنیت اطلاعات و نگهداری امن از داده ها می شود . البته با تکامل پروتکل Kerberous یک گام بزرگ در جهت ایجاد محیط امن در Hadoop برداشته خواهد شد .
-
Hadoop ابزار مناسبی برای مدیریت مناسب بر داده ها و فراداده ها ندارد ، به خصوص که توانایی کنترل کیفیت داده ها را هم ندارد و در حقیقت به وسیله آن نمی توان به مدیریت کامل بر داده ها پرداخت .