هدوپ چیست و چه کاربردی دارد؟
Hadoop یک چارچوب نرم افزاری منبع باز برای ذخیره سازی داده ها و اجرای برنامه ها است. هدوپ ذخیره سازی گسترده برای هر نوع داده، قدرت پردازش عظیم و توانایی انجام وظایف یا کارهای همزمان بی حد و حصر را فراهم می کند. با گسترش شبکه جهانی وب در اواخر دهه 1900 و اوایل دهه 2000، موتورهای جستجو و ایندکس ها برای یافتن اطلاعات مربوطه در میان محتوای مبتنی بر متن ایجاد شدند. در سال های اولیه، نتایج جستجو توسط انسان ها بازگردانده شد. اما با رشد وب از ده ها میلیون ها صفحه، به اتوماسیون نیاز بود. در نتیجه خزنده های وب ایجاد شدند، بسیاری از پروژه های تحقیقاتی به رهبری دانشگاه و شروع کار موتورهای جستجو شکل گرفتند.
یکی از این پروژه ها یک موتور جستجوی وب منبع باز به نام Nutch بود. آنها می خواستند با توزیع داده ها و محاسبات در رایانه های مختلف، نتایج جستجوی وب را سریعتر بازگردانند تا چندین کار به طور همزمان انجام شود. در این مدت پروژه موتور جستجوی دیگری به نام Google در دست اجرا بود. این مبتنی بر همان مفهوم بود که ذخیره و پردازش داده ها به صورت خودکار و توزیع شده باشد، به گونه ای که نتایج جستجوی وب مربوطه سریعتر برگردد.
در سال 2006، پروژه Nutch تقسیم شد، قسمت خزنده وب به عنوان Nutch باقی ماند و بخش محاسبات و پردازش توزیع شده Hadoop شد. در سال 2008، یاهو هدوپ را به عنوان یک پروژه منبع باز منتشر کرد. امروز، چارچوب و اکوسیستم فناوری هدوپ توسط بنیاد نرم افزاری غیر انتفاعی Apache (ASF)، یک جامعه جهانی از توسعه دهندگان و مشارکت کنندگان نرم افزار، مدیریت و نگهداری می شود.
در مقاله دیگر ممتاز سرور 15 نکته مهم در رابطه با وب سرور آپاچی را می توانید بخوانید.
چرا هدوپ مهم است؟
امکان ذخیره و پردازش مقادیر عظیم هر نوع داده به سرعت: با افزایش حجم و انواع مختلف داده ها، به خصوص از طریق رسانه های اجتماعی و اینترنت اشیاء (IoT)، این یک نکته مهم است.
قدرت پردازش: مدل محاسباتی توزیع شده هدوپ داده های بزرگ را به سرعت پردازش می کند. هرچه گره محاسباتی بیشتر استفاده کنید، قدرت پردازش بیشتری نیز خواهید داشت.
میزان خطا: پردازش داده ها و برنامه ها در برابر خرابی سخت افزار محافظت می شوند. اگر یک گره از کار بیفتد، کارها به طور خودکار به گره های دیگر هدایت می شوند تا مطمئن شوید محاسبات توزیع شده از کار نمی افتند. همچنین چندین نسخه از تمام داده ها بطور خودکار ذخیره می شوند.
انعطاف پذیری: برخلاف بانک های اطلاعاتی سنتی، نیازی به پردازش داده ها قبل از ذخیره کردن آن نیست. شما می توانید اطلاعات را به همان اندازه که می خواهید ذخیره کنید و تصمیم بگیرید که بعداً چگونه از آنها استفاده کنید. این شامل داده های بدون ساختار مانند متن، تصاویر و فیلم ها است.
هزینه پایین: چارچوب منبع باز هدوپ آزاد است و از سخت افزار برای ذخیره مقادیر زیادی از داده ها استفاده می کند.
مقیاس پذیری: به راحتی می توانید سیستم خود را برای مدیریت داده های بیشتر، به سادگی با افزودن گره ها رشد دهید.
چالش های استفاده از هدوپ چیست؟
برنامه نویسی MapReduce برای همه مشکلات مناسب نیست: برای درخواست ها و مشکلات ساده اطلاعاتی، که می توانند به واحدهای مستقل تقسیم شوند خوب است، اما برای کارهای تحلیلی تکراری و تعاملی کارآمد نیست.
مهارت بالا نیاز دارد: یافتن برنامه نویسان سطح ورود که دارای مهارت کافی جاوا هستند برای تهیه ی MapReduce دشوار است.
امنیت داده ها: یکی دیگر از مراکز چالش حول مسائل مربوط به امنیت داده های پراکنده است، گرچه ابزارها و فناوری های جدید در حال نمایش هستند. پروتکل احراز هویت Kerberos گامی بزرگ در جهت ایمن سازی محیط های هدوپ است.
مدیریت کامل داده ها: Hadoop از ابزارهای کاملاً کاربردی و آسان برای مدیریت داده ها، پاکسازی داده ها برخوردار نیست. به خصوص کمبود ابزار برای کیفیت داده ها و استاندارد سازی وجود ندارد.