Hadoop-02

Hadoop-02

مفهوم Hadoop از کجا پیدا شد  و به چه منظوری از آن استفاده میشود

برای آشنایی با مفهوم Hadoop ابتدا نیاز داریم تا مفهوم کلان داده یا Big Data را بررسی کنیم

Big data چیست

برای توضیح این مفهوم ابتدا به این موضوعات می پردازیم که در دنیای امروز اولا داده ها دارای خصوصیات زیر میباشند :

۱حجم بالا

۲سرعت بالا

۳- از منابع مختلف  هستند 

میدانیم که بخاطر پیشرفت تکنولوژی و استفاده روز افزون مردم از شبکه و اینترنت حجم وسیعی از داده ها در حال تولید می باشد یعنی هر روز بر تعداد این داده ها افزوده میشود .

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

هر روز نمونه هایی جدید از برنامه هایی نظیر تلگرام و واتس اپ و غیره تولید شده و استفاده کنندگان از آن نیز بیشتر و بیشتر میشوند . آیا تا بحال فکرکرده اید که تمامی اطلاعاتی که در این برنامه ها وارد میشود نظیر فیلم موزیک و متن و غیره در کجا ذخیره میشوند و چگونه ذخیره میشوند

یا مثلا میدانیم امروزه استفاده از کارتهای بانکی بشدت در حال افزایش است و همچنین استفاده از تراکنش های اینترنتی برای خرید نیز بسرعت رو به زیاد شدن است .

بنابراین مقدار داده های تولید شده در هر ثانیه در حال اضافه شدن است

پس بهتر است فکری به حال محل ذخیره سازی این داده ها کرد

خب مسلما میدانیم که داده ها در فضاهایی بنام سرور و روی هارد ذخیره میشوند اما همچنانکه میزان تولید این داده ها افزایش می یابد به همین نسبت باید تعداد سرورها و یا حجم هارد دیسک ها هم افزوده شود .

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

یعنی فکری به حال اینکه از چه روشی برای ذخیره سازی و مدیریت پردازش روی این داده های مختلف داشته باشیم بگونه ایکه با سرعت بالا و با دقت و با امنیت بالاتری بتوان حجم وسیعی از داده ها را مدیریت و پردازش نمود

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

Hadoop دو جز ء اصلی دارد

خب ما با داده سرو کار داریم بنابراین جایی برای ذخیره داده میخواهیم به این فضا در مدل هدوپ فایل سیستمی از نوع هدوپ می گویند و به اختصار به آن HDFS یا Hadoop Distributed File System میگویند

خب بعد از اینکه داده ها را به روش HDFSذخیره کردیم باید روشی برای مدیریت این داده ها نیز داشته باشیم که به آن MapReduce میگویند

MapReduce از دو جز تشکیل شده است

– Map

Reduce

Map روشی برای تبدیل داده های گرفته شده از منابع مختلف به شکل جدید می باشد که د ر این شکل جدید داده ها به صورت کلید و مقدار در فایل سیستم ذخیره میشوند

و Reduce کارش این است که این داده های تغییر شکل یافته را به مجموعه های کوچکتر تقسیم کند

در دنیای کنونی چه چبرهایی عوض شده

سخت افزار تغییر کرده

داده ها بیشتر شده  بنابراین مشتری ها هم بیشتر شده اند 

فضاهای ذخیره سازی هم ارزانتر از قبل شده

اما مشکل کجای کار است

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

خب اتفاقات خوبی که در این روزها در تکنولوژ ی افتاده چیست ؟

Cpu , RAM ارزانتر شده

Storage نیز ارزانتر شده هارد دیسک های الان با ظرفیت های بالا مثل 2TBروی سرورها سوار میشوند که نسبت به ده سال قبل که ۱۳۰ گیگابایت یا مثلا ۳۰۰ گیگابات بود بسیار بیشتر فضای ذخیره سازی دارند

یا مدلهای هارد دیسک از sas به ssd که سرعت پردازش بالای اطلاعات را دارند تغییر کرده است . 

سیستم های توزیعی بالغ تر و کامل تر شده اند. مثل NoSQL یا Cloud

امروزه opensource software داریم

سخت افزارهای عمومی داریم مثل public cloud مثل Amazon web services

مشکل امروز پهنای باند و شبکه هست

مسئله ای که امروزه با آن سروکار داریم Disk I/O هست

هارد دیسک ها هنوز مکانیکی هستند پس خیلی سریع نیستند

مسئله بعدی سرعت نوشتن و

اما در مورد دیسک

دو روش خواندن و نوشتن اطلاعات روی دیسک داریم

۱پشت سر هم

۲اتفاقی

در روش پشت سر هم سرعت بالاتره بهترین disk I/o

در روش اتفاقی چون هد باید هی تغییر مکان بده سرعت پایین تر میاد مثلا وقتی دیتابیس داریم جداول را بصورت stream ذ خیره میکنیم ولی زمانیکه joinمیزنیم یعنی بصورت random روی دیسک حرکت میکنیم سرعت Disk I/O پایین می آید

در مدل دیسکهای از نوع ssd دو مکانیزم ذخیره سازی داری

mirroring و stripping

stripping میگه که مثلا یک فایل داریم تیکه تیکه کن روی دیسکها قرار بده

و mirroring میگه یک کپی از این فایل را روی دیسک دیگر هم کپی کن

خب وقتی strip میکنیم یعنی موقع خواندن داده فایل هد باید روی هر چهار دیسک بگرده یعنی سرعت پایین می آید و mirror به ازاء هر بار نوشتن روی یک دیسک باید روی دیسک دیگر هم همزمان بنویسد

در هاردهای ssd هم تکنیک stripping داریم هم mirroring

در روش استریپینگ میتوانیم بصورت موازی عمل خواندن و نوشتن انجام بدیم و در مکانیزم mirror  افزونگی داریم

مکانیزم stripingرا RAID 0میگویند و مکانیزم Mirror را RAID1 میگویند

یعنی مثلا چهارتا دیسک سمت راست و ۴ تا سمت چپ که کپی آنهاست داریم

با استفاده از روش همزمانی در بکارگیری هر دوی این مکانیزمها

هم سرعت بالا میرود  هم افزونگی یعنی زمانیکه با داده های زیاد سرو کار داریم خوب جواب میدهد

دو مسیله اصلی که امروزه با بیگ دیتا داریم عبارتند از

۱تکنیک

در تکنیک ما با حل مسئله اینکه چطوری بصورت موازی با داده ها کار کنیم را داریم که شاید بتوان با استفاده از opensource این مسئله را حل کرد

مسئله بعدی اینکه از چه engine ی استفاده کنیم

index building مثل گوگل

مسئله log analysiis برای تفسیر لاگ فایلها از رخدادهای در سطح ماشین که کی مثلا خاموش شده یا اتفاقاتی نظیر اینکه دیتابیس کی خراب شده یا هر مشکل دیگه ایکه بصورت لاگ ذخیره میشود

۲انسان

در بحث داده های کلان اطلاعات زیادی از انسان ها در معرض نمایش قرار داده میشود

 مثلا کسانیکه بار اولهست که  بچه دار میشن اینکه نیازمندیهایشان چیه از کجا خرید کنن و چطوری خرید کنن

مسئله بعدی در این خصوص این هست که سازمان امنیت آمریکا کلیه این اطلاعات را رسد میکنه و به همه دسترسی داره

خب راه حلهایی که در این دو سطح میشود ارایه داد به شرح زیر است

۱در بحث موازی سازی

استفاده از روش MapRedue و Hadoop می باشد

پردازش داده ها را میتوانیم به بخش های کوچک تقسیم کنیم

مسئله بعدی پردازش های زیاد هست

پس صحبت کردیم از اینکه

۱از چه روشهای محاسبهای استفاده کنیم

۲مبارزات جلوی روی ما در محاسبات چه هستند

۳مسائل انسانی  که امروزه با آنها روبرو هستیم چه هستند

۴راه حلها چه هستند

2 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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