ابزارهای لازم در زمینه کلان داده ها

کلان داده ها تکنولوژی های خاصی را برای پردازش حجم انبوهی از داده ها نیاز دارند. از جمله این تکنولوژی ها می توان به پردازش شدیدا موازی()، سیستم فایل توزیع شده (Distributed File System)، پایگاه داده های توزیع شده (Distributed Database)، داده کاوی (Data Mining)، محاسبات ابری (Cloud Computing)، سیستم های ذخیره سازی مقیاس پذیر اشاره کرد. ارائه اطلاعات بلادرنگ (Real Time) یا تقریبا بلادرنگ یکی از ویژگی های تعیین کننده تحلیل داده های عظیم است.

محاسبات ( سیستم) توزیع شده لازم است تا شفافیت دسترسی (Access Transparency)، شفافیت موقعیت (Location Transparency)، شفافیت همروندی (Concurrency Transparency)، شفافیت شکست (Failure Transparency)، ناهمگونی (Heterogeneity)، مقیاس پذیری (Scalability)، شفافیت تکثر (Replication Transparency) و شفافیت مهاجرت (Migration Transparency) را داشته باشیم.

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

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

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

گوگل برای حل این مشکل از یک الگوریتم به نام نگاشت کاهش (MapReduce) را ارائه کرده است. وظیفه این الگوریتم تقسیم کردن کار به بخش های کوچکتری به نام وظیفه (Task) است که هر کدام به یکی از گره¬های کلاستر (Cluster) اختصاص داده می شوند. در نهایت نتیجه در غالب یک مجموعه داده نهایی جمع آوری خواهد شد. شکل زیر (منبع) نمایی از الگوریتم نگاشت کاهش را نشان می دهد که در آن هر بخش به گره های موجود در کلاستر توزیع شده اند و سپس بر روی هر گره به صورت مجزا پردازش می شوند.

هدوپ (Hadoop) یک برنامه متن باز و توسعه داده شده توسط یاهو (Yahoo) است که الگوریتم نگاشت کاهش را به عنوان یکی از مولفه های خود استفاده می کند، به طوری که داده ها به صورت موازی بر روی ماشین های مجزا درون کلاستر پردازش می شوند. کلاستر مجموعه ای از کامپیوترهای مستقل از هم هستند که درون یک شبکه به یکدیگر متصل می باشند. یکی از اهداف کلاستر فراهم کردن منبع های پردازشی (پردازنده – حافظه اصلی) و ذخیره سازی (Storage) برای سیستم محاسبه با کارایی بالا (High Performance Computing یا HPC) است.

در این دوره به طور کامل در مورد نگاشت کاهش، هدوپ و تا اندازه ای در مورد پایگاه داده NoSQL و ضرورت آن در کلان داده ها صحبت شده است. همچنین می توانید از لینک زیر، فهرست مطلب های دوره هایی در مورد پایگاه داده های درون حافظه را بخوانید. همچنین در مطلب محاسبات درون حافظه تا اندازه بیشتری در مورد ضرورت استفاده از حافظه اصلی در کلان داده ها و تحلیل داده ها صحبت شده است.

دوره پایگاه داده Apache Ignite