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

مجری :شرکت فراز اندیشان سامانه گستر صبا

 

مقدمه

انفجار فزاینده در داده های جهانی مفهوم کلان داده را به یک واقعیت تبدیل کرده است.این مفهوم به طور عمده برای تشریح مجموعه داده های حجیم در مقایسه با مجموعه داده های کلاسیک مورد استفاده قرار می گیرد.داده های بدون ساختار و داده هایی که در زمان واقعی به سرعت به وقوع می پیونددو مساله تجزیه وتحلیل آنها موضوع اصلی در کلان داده می باشد.پیشرفت های سریع در سخت افزارهای محاسبه گر ،شبکه و پردازشگرهای شدیدا موازی و همچنین مدیریت هزینه ها مزایایی استفاده از تکنولوژی مرتبط با کلان داده  را بیش از سایر تکنولوژی ها مورد توجه قرار داده است.از ۲۰۱۱ توجه به مساله داده های کلان بیش از پیش مورد توجه قرار گرفته است.در شکل شماره (۱) قطبیت واژه ی کلان داده در موتور جستجوی گوگل مشاهده می شود.

مفهوم کلان داده

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

از پایگاه های داده ی مختلف حاصل می شود ، موضوع اصلی در کلان داده می باشد.پس مساله اصلی در کلان داده ، پایگاه های داده ی بزرگ می باشد.واژه ی کلان داده به پدیده ای اشاره داردکه در آن فایل ها و داده های دیجیتال به شدت فزاینده و بزرگ می شود به نحوی که رشد در این فرایند از نوع پیوسته و نمایی می باشد.در جدول (۱) یک بررسی مقایسه ای از تاریخچه کلان داده به تصویر درآمده است:

جدول(۱) بررسی تاریخی سیر تحول کلان داده

همچنین در جدول (۲) تفاوت تحلیل در کلان داده در مقایسه با روش های کلاسیک ملاحظه می شود.

جدول(۲) مقایسه کلان داده و روش های کلاسیک

ابعاد کلان داده

کلان داده پنج بعد اصلی به این شرح را دارد؛

  • حجم:منظور اندازه ی داده جمع آوری شده برای تجزیه و تحلیل می باشد.
  • تنوع:تنوع پنجره زمانی می باشد که در آن داده های زمانی مفید و مربوط در آن قرار می گیرد.
  • تولید:منابع چندگانه (تصاویر ،ویدیوها،ریموت و داده های مبتنی بر فیلد )،منابع چند زمانه (داده های جمع آوری شده در لحظه ها و تاریخ های مختلف ) ،رزولوشن چند منظوره (تصاویر با روزلشن های تفکیکی متفاوت) عناصر اصلی در تولید محسوب می شود.
  • صحت :کیفیت ،قابلیت اطمینان ، ویژگی های داده و اطمینان کلی در این قسمت قرار می گیرد.
  • ارزش گذاری:توانایی خلق دانش و نوآوری.

نگاه فناوری به مساله کلان داده

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

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

شکل (۲) معماری جامع سیستم های کلان داده

نگاه پوسته ای به مساله کلان داده

همان طور که در شکل شماره (۳) ملاحظه می شود معماری کلان داده در سه لایه معماری می شود.این سه لایه عبارتند از :لایه کاربردی،لایه محاسباتی و لایه مبنا.مثلا در محیط محاسبات ابری ،لایه ی مبنا از تکنولوژی ماشین مجازی استفاده می کند.در این لایه (لایه مبنا) تعداد اجزای ICT با هم و همچنین لایه های بالاتر در ارتباط هستند.منابع برای تامین الزامات کلان داده تخصیص داده می شود.به این طریق بهره برداری از سیستم حداکثر می شود.ذخیره سازی داده های ساختارمند و بدون ساختار و همچنین ابزار پردازش نظیر  SQL و NoSQL در لایه محاسباتی قرار دارد.در حقیقت یکپارچه سازی داده ،مدیریت و روش های برنامه نویسی در این لایه قرار دارد.لایه ی تجزیه و تحلیل داده شامل روش هایی نظیر جستجو،تجزیه و تحلیل آماری ،خوشه بندی ،طبقه بندی و یادگیری ماشین می باشد.

شکل (۳) نگاه لایه ای  به سیستم کلان داده

نرم افزار هدوپ

نرم افزار هدوپ چارچوب منبع بازمی باشد که با زبان برنامه نویسی جاوا نگارش یافته است .هدوپ فایل ها را به بلوک های بزرگ شکسته و آنها را بین نود های یک خوشه توزیع می کند.این نرم افزار برای پردازش مجموعه ی حجیمی از داده ها برای انجام پردازش توزیع شده بر روی هزاران ماشین با تحمل پذیری خطای بالا توزیع شده می باشد.هدوپ برای حل مساله کلان داده ارایه شده است.هدوپ از دو تکنولوژی اصلی شامل سیستم فایل توزیع شده هدوب (HDFS) و بخش پردازش Reduce)/(Map استفاده می کند.پس HDFS با انبار داده و Map/Reduce با پردازش داده کار می کند. پردازشگرهای موازی HDFS شامل یک سرور اصلی با نام  گره نام (Name node) و چندین سرور با نام گره داده (Data Nodes) می باشد.وظیفه گره نام این است که نگاشت بلوک ها را به کره داده تعیین و همچنین عملیاتی همچون باز کردن ،بستن و تغییر نام فایل ها و دایرکتوری را بر عهده دارد.در هدوپ (Map/Reduce) ابتدا توسط گوگل ارایه شده است.این ماژول دو وظیفه اصلی یعنی ؛نگاشت و کاهش را برعهده دارد.در فاز اول یعنی نگاشت داده ورودی به تعداد زیادی قطعه تقسیم و هر قطعه به یک وظیفه اختصاص می یاید.در فاز دوم یعنی کاهش داده های خروجی از مرحله ی نگاشت را دریافت و از آنها به عنوان ورودی استفاده می کند پردازش و محصول جدید کاهش مجموعه ی جدیدی از خروجی های ذخیره شده در سیستم فایل توزیع شده هدوپ (HDFS) مطابق با شکل (۴) می باشد

شکل (۴) معماری سیستم هدوپ توزیع شده

همان طور که در شکل شماره (۵) نیز ملاحظه می شود ، هدوپ وظیفه ی نگاشت و کاهش را در طول وظیفه ی نگاشت و کاهش برای سرور در خوشه ها ارسال می کند. چارچوب نگاشت و کاهش هدوپ دارای یک معماری از نوع ارباب و برده (master/slave) است. این چارچوب دارای یک سرور ارباب به نام دنبال‌کننده‌ ی کار    ( job tracker)و سرورهای برده متعدد به نام دنبال کننده وظیفه  task tracker ، به ازای هر گره در خوشه است. سرور ارباب دنبال کننده کار نقطه تعامل بین کاربران و چارچوب می باشد. کاربران کارهای نگاشت و کاهش را به انجام دهنده کارتحویل می‌دهند.انجام دهنده کار ،کارها را در یک صف از کارهای در حال انتظار قرار می دهد و آنها را بر اساس اصل اولین صادره از اولین وارده اجرا می‌کند.انجام دهنده کار تخصیص وظایف نکاشت و کاهش را به انجام دهنده ی وظیفه ها مدیریت می‌کند.انجام دهنده وظیفه ها ،وظایف را بر اساس دستورالعمل انجام دهنده ی کار اجرا و همچنین مسئولیت حرکت داده بین فازهای نگاشت و کاهش را بر عهده می‌گیرند.

شکل (۵) نگاشت ، کاهش در معماری هدوپ