تکنولوژی هدوپ راهکاری جدید در بیگ دیتا
- 1399/11/5
- 1296
- برنامه نویسی
فناوری هدوپ ابزاری متن باز برای بیگ دیتا
زندگی در عصر انفجار اطلاعات ما را با چالش های زیادی روبرو کرده است ، چالش هایی مانند مدیریت حجم عظیمی از اطلاعات ، روش های حفط امنیت داده ها نحوه تجزیه تحلیل اطلاعات ، تکنیک های ذخیره سازی و طبقه بندی داده ها. تمامی این چالش ها نیازمند راهکار و فناوری های جدیدی هستند که بتوان توسط آنها به ایده آل ترین نتایج دست پیدا کرد.
مفهوم بیگ دیتا یا کلان داده :
Big Data به حجم عظیمی از داده ها اطلاق می شود که میتوانند به سه حالت ساختاریافته (اطلاعات منظم و دستهبندی شده) ، غیرساختاریافته (اطلاعات حجمی نامنظم و تصادفی) و نیمه ساختاریافته (ترکیبی از ساختاریافته و غیر ساختاریافته) باشند.کلان داده یا بیگ دیتا دارای پیچیدگی بسیار زیادی می باشد که هیچ یک از ابزارهای سنتی مدیریت داده نمی توانند آن را ذخیره یا پردازش کارآمد کنند.
نقش داده و تجزیه و تحلیل آن، در دنیای کسب و کار و تکنولوژی، امری ضروری و اجتناب ناپذیر به شمار می رود. داده های بیشتر به همراه تحلیل های دقیق منجر به تصمیم گیری های مطمئن شده و تصمیمات بهتر، میتواند به معنای کارآیی بیشتر عملیات، کاهش هزینه ها و کاهش ریسک باشد. از این رو استفاده از بیگ دیتا و روشهای آنالیز آن بسیار محبوب هستند.
فناوری آپاچی هدوپ
در بحث پردازش و مدیریت کلان داده ، ابزارها و تکنیک های زیادی وجود دارند که در این مقاله قصد داریم فناوری آپاچی هدوپ را مورد بررسی قرار دهیم.
هدوپ یکی از پرکاربردترین پلتفرمهای نرم افزاری برای تحلیل کلانداده و یک چهارچوب متن باز برای پردازش ، ذخیره سازی و تقسیم بندی داده می باشد که با زبان جاوا برنامه نویسی شده و برای توزیع فایل های متمرکز به کار می رود.
هدوپ با استفاده از مدل برنامه نویسی Clustering امکان پردازش داده های حجیم و توزیع شده را فراهم می کند و قابلیت انجام محاسبات و ذخیره سازی اطلاعات به صورت Local یکی از ویژگی های مهم این فریمورک به حساب می آید.
تشخیص و برطرف کردن خطاها با استفاده از کتابخانه های داخل نرم افزار در لایه Application بدون تکیه بر سخت افزار و انجام پردازش های مقیاس پذیر و توزیع شده از دیگر امکانات و ویژگی های این فناوری می باشد که باعث محبوبیت بیشتر این فناوری شده است.
بخش های تشکیل دهنده Apache Hadoop
هدوپ از چهار بخش تشکیل شده است :
1) Hadoop Distributed File System : سیستم توزیع شده فایل که امکان دسترسی به داده های نرم افزار را با توان بالا فراهم می سازد و یک چارچوبی برای تحلیل و تغییر شکل مجموعه داده های بسیار بزرگ با استفاده از MapReduce میباشد. یکی از مهمترین ویژگی های هدوپ، پارتیشن بندی داده ها و محاسبات میان هزاران میزبان و اجرای برنامه های محاسباتی موازی بر روی داده هایشان است.
2) Hadoop Map/Reduce : سیستمی جهت پردازش موازی از مجموعه داده های بزرگ که دارای معماری master/slave است. این فریمورک دارای یک سرور دستور دهنده به نام jobtracker (دنبالکننده کار) و سرورهای دستور گیرنده متعدد به نام tasktracker (دنبالکننده تسک یا وظیفه)، به ازای هر گره در خوشه است.
3) Hadoop Yarn : : برگرفته از (Yet Another Resource Negotiator) یک پلتفرم برای مدیریت منابع که مسئولیت منابع محاسباتی در خوشهها را به عهده دارد. این فناوری هادوپ را به پلتفرم بسیار توانمندتری تبدیل میکند و جایگاه آن را از یک نرمافزار پردازش دستهای داده به یک «سیستمعامل دادهای» ارتقا داده است.
4) Hadoop Common : فریمورکی جهت پشتیبانی و اجرای ماژول های دیگر که یک دستیار قدرتمند برای هدوپ به شمار می آید.
نحوه عملکرد فناوری هدوپ
مرحله ی اول مربوط به تقسیم بندی داده ها می باشد بطوریکه بعد از دریافت اطلاعات آنها را به بلوک های 64 مگابایتی تقسیم کرده و هر یک از آنها را در سرورهای جداگانه ذخیره می کند. وظیفه ی ذخیره سازی داده ها بر عهده Hadoop HDFS می باشد که با دو استراتژی متفاوت این کار را انجام می دهد.
1) Name Node : هدوپ HDFS شامل فایل ها و پوشه های مختلفی است. این فایل ها و پوشه ها برروی NameNode ذخیره میشوند که خواصی مانند سطح دسترسی ، تاریخ تغییرات، فضای نام و میزان استفاده از فضا را ذخیره میکند.
2) Data Node : تمام داده های شما در Data Node ذخیره میشود و به همین خاطر نیاز به منابع ذخیره سازی بیشتری دارد. این DataNode ها ، سخت افزارهای ارزان قیمت در یک محیط توزیع شده هستند
بعد از ذخیره سازی داده ها توسط HDFS اطلاعات توسط سیستم Map Reduce پردازش می شوند و نهایتا YARN وظایف را تقسیم کرده و منابع را به خوشه ها اختصاص می دهد.
ویژگی ها و مزیت های سیستم هدوپ
با اطمینان میتوان گفت Apache Hadoop محبوب ترین و قدرتمندترین ابزار کلان داده است که در این بخش چند مزیت مهم آنرا بیان می کنیم:
1) متن باز بودن : Hadoop یک پروژه متن باز است ، به این معنی که سورس کدهای به صورت رایگان و بدون هزینه برای عموم در دسترس هستند و به شرکت ها و سازمان های مختلف این امکان را می دهد که ابتدا سورس کد ها را بر اساس نیاز خود تجزیه و تحلیل کرده و سپس نسبت به تغییر آن اقدام کنند.
2) مقیاس پذیری بالا : Hadoop مقیاس پذیری بالایی دارد یعنی هم می توان تعداد گره ها را افزایش داد (مقیاس پذیر افقی) و هم میتوان ظرفیت سخت افزاری گره ها را بالا برد (مقیاس پذیر عمودی). مقیاس پذیری امکان دستیابی به قدرت محاسبات بالا در چارچوب Hadoop را فراهم می کند.
3) خاصیت Fault Tolerance : پردازش داده ها و برنامه ها در برابر خرابی سخت افزار محافظت می شوند. اگر یک گره از کار بیفتد، کارها به طور خودکار به گره های دیگر هدایت می شوند تا مطمئن شوید محاسبات توزیع شده از کار نمی افتند. همچنین چندین نسخه از تمام داده ها بطور خودکار ذخیره می شوند.
4) High Availability یا دسترسی ایده آل : سیستم هدوپ به دلیل دارا بودن خاصیت Fault Tolerance امکان دسترسی به داده ها را حتی در شرایط نامساعد نیز فراهم می کند. در صورت از کار افتادن هر یک از DataNodes ، از یک Node دیگر استفاده کرده و داده ها مجددا در دسترس کاربران قرار می گیرند.
5) مقرون به صرفه بودن : سیستم هدوپ به دلیل استفاده از سخت افزارهای ارزان قیمت جهت پردازش کلان داده ها ، بسیار مقرون به صرفه می باشد و همچنین برای استفاده از آن نیاز به هیچ لایسنسی ندارید و کاملا متن باز می باشد.
6) عملکرد بالا در پردازش داده ها: در معماری هدوپ داده ها به صورت توزیع شده ذخیره می شوند ، که این امر امکان پردازش داده ها به صورت Clustering را فراهم می کند و موجب پردازش سریع داده های ذخیره شده می شود.
7) استفاده از سیستم هدوپ بسیار آسان می باشد : این سیستم تمامی پردازش های مورد نیاز را انجام میدهد و نیازی به انجام محاسبات توزیع شده توسط کاربران نیست فقط باید نحوه پیاده سازی آنرا بلد باشیم تا از کاربردهای آن بهره مند شویم