بررسی فناوری در حوزه ی  big data

کلان داده بیگ دیتا "big data " چیست مجموعه بزرگی از داده های کلان و پیچیده که با گذشت زمان به طور تصاعدی رو به افزایش بوده و حجم بسیار زیادی دارند big data است که جمع‌آوری، ذخیره، استخراج، پردازش و تجزیه و تحلیل اطلاعات با پیچیدگی همراه بوده پس با هر نرم افزاری نمی توان آن را پردازش کرد .پس تا اینجا متوجه شدیم این داده های عظیم با محدودیت محاسبات و محدودیت فیزیکی رو به رو هستند پس باید از تکنیک‌ها و ابزارهای ویژه مانند نرم افزار و الگوریتم ها و ... استفاده نمود.برای درک بهتر به عنوان مثال شرکت گوگل با استفاده از نظریه پردازش موازی الگوریتمی به نام map reduce در سال 2009طراحی کرد . همانطور که اسم الگوریتم مشخص است از دوقسسمت map وreduce به معنی نگاشت کاهش تشکیل شده است (یک ابزاری در حوزه ی big data است)خب map reduce راه حل دو مرحله ای برای پردازش big data است مرحله اول تابع map و مرحله دوم تابع reduce را فراخوانی میکند که البته ممکنه گاهی اوقات نیاز باشد این مراحل چندین بار تکرار شود .سیستم ها به 2 قسمت data intensive و process intensive تقسیم میشود:یک : "Data intensive " چالش های مربوط به ذخیره سازی دیتا و پردازش است . سیستم های مثل کافکا و هدوپ و اسپارک و با زبان هایی مثل جاوا و تا حدودی پایتون . البته که باید بدانیم زبان تخصصی در حوزه ی بیگ دیتا scala است . این زبان تقریبا شبیه جاوا است و قابلیت موازی سازی دارد .دوم : "Process intensive" مربوط به پردازش سنگین و زیاد است که معمولا از سیستم های چند هسته ای استفاده میکنیم . و همینطور 2 دیدگاه در زمینه ی big data داریم :1 دید حل مسله و الگوریتم2 دید نرم افزاری همون کار با نرم افزار هدوپ و کافکا و... که بالاتر گفتیماکنون در باره ی پردازش حجم بالا از دیتا میپردازیم Data miningبه صورت خلاصه کشف یه سری الگو و مدل از داده ها که قابلیت valid بودن و Useful مفید بودن ,unexpected غیرقابل پیش بینی , understandable قابل فهم , داشته باشد .حال وظایف data mining : شامل دو بخشDescriptive ( روش هایی که داده میشود و خوشه بندی میکند و یه توصیفی بهمون داده میشود ) و Predictive ( که برایمان پیشبینی میکند ) یادآوری :معماری عادی برای پردازش دیتا , دیتا ازروی دیسک میاد رو مموری و cpu روی ان پردازش انجام میدهد .اصل کلاسر در مبحث big dataاز چندین نود محاسباتی تشکیل شده است که هرکدام از این نود های محاسباتی 1 کامپیوتر در نظر میگیریم که شامل دیسک مموری و به یک شبکه نیرو وصل است و همه ی نود های موجود به یک شبکه با سرعت بالا وصل هستند و باهم دیگر پردازش را انجام میدهند . ویژگی اصلی که سیستم های big data باید داشته باشد قابلیت مقیاس پذیری است ( scalable ) . Scalable به معنی یه حجمی از دیتا که میتوان ان را پردازش کرد اگر 2 برابر یا 100 برابر شود این سیستم بتواند دیتا را پردازش کند . به صورت خلاصه محدود به یه حجم خاصی از دیتا نباشد . در کل سیتم های scalable به 2 دسته تقسیم بندی میشود : 1 به صورت افقی2 به صورت عمودی سیستم هایی که به صورت عمودی هستند سیسم هایی هستند ک خودمان هسته ی cpu و هارد و ... را افزایش بدهیم که با محدودیت فیزیکی وافزایش هزینه ها رو به است پس در حوزه ی big data کاربرد انچنانی ندارد .واما سیستم های که به صورت افقی scalable هستند که همان سیستم های توزیع شده هستند . دارای چندین تا کامپیوتر , که کنار هم قرار می دهیم.هرکدام از این نود ها یا کامپیوترها به یک switch وصل هستند.هرکدام از این switch ها بین 16 تا 64 تا پورت دارند . بعد از این 64 تا قابلیت اتصال سویچ دیگر نیز وجود دارد که در شکل زیر ملاحظه میکنید .ویژگی هایی که سیستم big data ما باید داشته باشه چیست ؟1 ویژگی تولرانسی.2 یک واسطه به برنامه نویس داده بشود تا برنامه نویس با پیچدگی و جزئیات شبکه شدن و ... رو به رو نشه.3 داده ها نباید جا به جا شوند : پردازش باید به سمت دیتا حرکت کند نه اینکه دیتا به سمت پردازش . حوزه ی نوظهور big data با چالش های متعددی مانند نحوه ذخیره سازی , مدیریت و سازماندهی داده ها , نظارت بر جریان داده , در دسترس بودن داده ها , سرعت انتقال داده ها , یکپارچه سازی داده ها و چالش های امنیتی رو به رو است و همینطور این داده های کلان برای کشورها بسیار حائز اهمیت است و خیلی کشورها هزینه ی بسیار زیادی برای دستیابی به ان مصرف میکنند اجزا و مولفه های پروژه های big data جهت اجرای موفق یک پروژه مبتنی بر big data نیاز به پیاده سازی طیف وسیعی از اقدامات است .نویسنده : طهورا شعبانی دانشجوی کارشناسی علوم کامپیوتراستاد : دکتر مریم حاجی اسمعیلی دکترای علوم کامپیوتر از دانشگاه کینگستون لندن منابع : سایت sciencedirctآموزش های محمد نظری مقاله بیگ دیتا و رایانش ابری 2017