بخشی از مقاله
بررسی و تحلیل big data
چکیده:
اندازه، اولین بعد و گاهی مواقع تنها بعدی است که پیرامون موضوع داده های حجیم)big data) 1 جلب توجه می کند. هدف این پژوهش، پیاده سازی بررسی جامع وضعیت big data و ارائه تعریف، ویژگی ها و طبقه بندی big data به همراه بحث پیرامون محاسبات ابری است. در این مقاله ارتباط بین big data و محاسبات ابری، سیستم های ذخیره سازی big data و فناوری Hadoop مطرح خواهد شد. به علاوه درباره چالش های تحقیق با تمرکز بر مقیاس پذیری، در دسترس پذیری، یکپارچگی داده ها، تبدیل داده ها، کیفیت داده ها، غیر یکنواختی داده ها، محرمانگی، مسائل قانونی و تنظیمی، و نحوه اداره بحث خواهد شد. درباره شیوه های تحلیلی به کار رفته برای big data نیز توضیحاتی ارائه می شود.
کلمات کلیدی: big data، Hadoop، NOSQL
.1 مقدمه:
افزایش پیوسته حجم و جزئیات داده های جذب شده توسط سازمان ها از قبیل ظهور رسانه های اجتماعی، اینترنت اشیا و مالتی مدیا منجر به ایجاد جریان بسیار عظیم داده در قالب ساختار یافته یا بی ساختار شده است. خلق داده با سرعت بی سابقه ای رخ می دهد[1] ، که از این پس، big data نامیده می شود و به عنوان یک روند شناخته شده گسترده پدیدار شده است. Big data با سه بعد توصیف می شود: (الف) داده ها بیشمار است، (ب) داده ها را نمی توان به پایگاه داده های ارتباطی منظم دسته بندی کرد و (ج) داده ها به سرعت ایجاد، جذب و پردازش می شود. به علاوه، big data در پزشکی، علوم، مهندسی، امور مالی، تجارت و سرانجام جامعه را متحول نموده است. پیشرفت ها در فناوری های ذخیره سازی و استخراج داده ها امکان حفظ مقادیر فزاینده داده که با تغییر در ماهیت داده های نگهداری شده نزد سازمان ها توصیف می شود را میسر می سازد.[2] سرعتی که داده های جدید با آن ایجاد می شود گیج کننده است.[3] چالش عمده برای محققان و کاربران آن است که این نرخ رشد از توانایی شان در طراحی پایگاه های مناسب محاسبات ابری جهت تجزیه و تحلیل داده و به روز آوری حجم کار فشرده فراتر است. محاسبات ابری یکی از چشمگیرترین تغییرات در ICT مدرن و خدمات برای کاربردهای سازمانی به شمار می رود و به ساختار قدرتمندی جهت انجام محاسبات پیچیده و در مقیاس بزرگ مبدل شده است. مزیت های محاسبات ابری شامل منابع مجازی شده، پردازش موازی، امنیت، و ادغام خدمات داده با ذخیره سازی اطلاعات مقیاس پذیر است. محاسبات ابری نه تنها می تواند هزینه و محدودیت اتوماسیون و کامپیوتری کردن امور توسط افراد و سازمان ها را به حداقل برساند بلکه کاهش هزینه نگهداری زیرساخت، مدیریت کارآمد و دسترسی کاربر را تامین می کند.. در نتیجه مزیت های فوق ، تعدادی از برنامه های کاربردی که پایگاه های ابری متعددی را تحت تاثیر قرار می دهند، توسعه یافته و منجر به افزایش چشمگیر مقیاس داده های ایجاد شده و مصرف شده توسط چنین برنامه های کاربردی گردیده است. برخی از مزایای اولیه big data در محاسبات ابری کاربرهایی هستند که خوشه های Hadoop را در محیط های محاسبه بسیار مقیاس پذیر و انعطاف پذیر به کار گرفتند که توسط خریداران از قبیل IBM، Microsoft Azure، و Amazon AWS تامین شده بود.
.2 تعریف و ویژگی های big data
Big data به افزایش حجم داده هایی که ذخیره سازی، پردازش و تجزیه و تحلیل شان از طریق فناوری های پایگاه داده سنتی دشوار است، اطلاق می شود. ماهیت big data نامشخص است و مشتمل بر فرآیندهای قابل ملاحظه ای جهت شناسایی و تبدیل داده ها به اطلاعات جدید است. واژه «big data» در IT و تجارت نسبتا جدید است. با این حال، بسیاری از محققان و کاروران از این واژه در ادبیات قبلی استفاده کرده اند در حال حاضر تعاریف متعددی از big data وجود دارد. برای مثال »مقدار داده فراتر از قابلیت فناوری در ذخیره سازی، کنترل و پردازش کارآمد.« یا حجم، گوناگونی و سرعت. واژه های حجم، گوناگونی و سرعت اصولا توسط گارتنر1 به منظور توصیف عناصر چالش های big data معرفی شدند. همچنین IDC فناوری های big data را »به عنوان نسل جدیدی از فناوری ها و ساختارها که به منظور استخراج ارزش از نظر اقتصادی از حجم های بسیار بزرگ انواع گسترده داده ها طراحی شده و جذب، کشف یا تحلیل پر سرعت را میسر می سازد« تعریف کرده است. big data نه تنها با سه V فوق الذکر توصیف می شود بلکه می تواند به چهار V هم بسط داده شود یعنی حجم، گوناگونی، سرعت و ارزش. این تعریف چهار V کاملا شناخته شده است زیرا معنا و ضرورت big data را مشخص می کند.[4]
2
تعریف زیر براساس تعاریف فوق الذکر و اظهار نظر و تحلیل ما از ماهیت big data بیان می شود. Big data مجموعه ای از تکنیک ها و فناوری هایی است که مستلزم َاشکال جدید ادغام جهت آشکار ساختن مقادیر بزرگ نهان از مجموعه داده های بزرگی است که متنوع، پیچیده و متعلق به مقیاسی بزرگ هستند.
(1) حجم به مقدار همه انواع داده ایجاد شده از منابع مختلف که همچنان توسعه می یابد اشاره دارد. مزیت گردآوری مقادیر بزرگ داده شامل خلق اطلاعات و الگوهای نهان از طریق تجزیه و تحلیل داده ها است. لوریلا و همکارانش1 مجموعه منحصر به فردی از داده های طولی از دستگاه های سیار هوشمند تهیه نمودند و این مجموعه را در دسترس جامعه پژوهش قرار دادند . اقدامات فوق الذکر، چالش داده های سیار نام دارد که نوکیا2 مشوق آن بود.[5] گردآوری داده های طولی مستلزم تلاش قابل توجه و سرمایه گذاری های اساسی است. با این حال، چنین چالش داده های سیار نتیجه جالبی مشابه نتیجه موجود در بررسی قابلیت پیش بینی الگوهای رفتار انسان یا ابزار به اشتراک گذاری داده براساس تکنیک های پویایی و تجسم برای داده های پیچیده حاصل می کند.
(2) گوناگونی به انواع مختلف داده های گردآوری شده از طریق سنسورها، تلفن های هوشمند یا شبکه های اجتماعی اشاره دارد. این انواع داده شامل ویدئو، تصویر، متن، صوت و انبار داده با فرمت ساختار یافته یا بی ساختار است. بخش عمده داده های ایجاد شده از برنامه های کاربردی سیار دارای فرمت بی ساختار هستند. برای مثال، پیام های متنی، بازی های اینترنتی، وبلاگ ها و رسانه های اجتماعی انواع مختلف داده های بی ساختار را از طریق دستگاه های سیار و سنسورها ایجاد می کنند. کاربران اینترنت نیز مجموعه کاملا متفاوتی از داده های ساختار یافته و بی ساختار ایجاد می کنند .[6]
(3) سرعت به سرعت انتقال داده ها اشاره دارد. محتویات داده همواره به علت جذب مجموعه داده های مکمل، ارائه داده های قبلا بایگانی شده جریان داده های حاصل از منابع متعدد تغییر می کند.[7]
(4) ارزش مهم ترین بعد big data به شمار می رود؛ که به فرآیند کشف ارزش های بزرگ نهان از مجموعه داده های بزرگ با انواع مختلف و شکل گیری سریع اشاره دارد.
2.1 طبقه بندی big data
به منظور درک بهتر ویژگی های big data، آن را به دسته های مختلفی طبقه بندی می کنند. این طبقه بندی به دلیل داده های در مقیاس بزرگ درون ابر حائز اهمیت است. طبقه بندی فوق براساس پنج بعد است(1) « منابع داده، (2) فرمت محتوا، (3) مخازن داده، (4) رده بندی داده، و (5) پردازش داده.
منابع داده عبارتست از داده های اینترنتی، حسگر و کلیه مخازن اطلاعات فراملی، که در دامنه ای از بی ساختار تا بسیار ساختار یافته با فرمت های مختلف ذخیره می شوند. پایگاه داده ارتباطی متداول ترین آن است که در قالب انواع بسیار متعددی نمایش داده می شود.[8] در نتیجه گوناگونی گسترده منابع داده، داده های جذب شده از حیث اندازه نسبت به افزونگی، سازگاری و نویز و غیره متفاوت است.
.3 محاسبات ابری
محاسبات ابری یک فناوری به سرعت در حال رشد است که خود را در نسل بعدی صنعت و تجارت IT ثبت کرده است. محاسبات ابری حاکی از نرم افزار، سخت افزار و IaaS که از طریق اینترنت و مراکز از راه دور داده تحویل داده می شوند است . خدمات ابری به ساختاری قدرتمند جهت انجام وظایف محاسباتی پیچیده در مقیاس بزرگ مبدل شده اند و نقش های IT از ذخیره
3
سازی و محاسبه تا خدمات پایگاه داده و کاربردی را شامل می شود. نیاز به ذخیره سازی، پردازش و تجزیه و تحلیل مقادیر بزرگ مجموعه های داده موجب شده تا بسیاری از سازمان ها و افراد محاسبات ابری را برگزینند. تعداد زیادی از کاربردهای علمی برای آزمایش های گسترده در حال حاضر در ابر به کار گرفته می شود و به علت عدم وجود تجهیزات محاسباتی در خدمات رسان های محلی، کاهش هزینه های سرمایه، و افزایش حجم داده های تولید شده و مصرف شده در آزمایش ها همچنان رو به افزایش است.[9] به علاوه، تامین کنندگان خدمات ابری شروع به ادغام چارچوب هایی جهت پردازش داده های موازی در خدمات شان برای کمک به کاربران به منظور دسترسی داشتن به منابع ابری و بکارگیری برنامه های شان نموده اند .
محاسبات ابری »مدلی برای امکان پذیر ساختن دسترسی شبکه همه جا حاضر، راحت و برحسب تقاضا به تعدادی از منابع ابری پیکربندی شده (مثلا شبکه ها، خدمات رسان، ذخیره سازی، برنامه های کاربردی و خدمات) است که می تواند به سرعت فراهم شود و با تلاش اندک مدیریت یا ارتباط تامین کننده خدمات گسترش می یابد.« محاسبات ابری دارای چندین جنبه مطلوب برای در نظر گرفتن رشد سریع موانع اقتصادی و تکنولوژیکی است. این نوع محاسبات، هزینه کل مالکیت را تامین می کند و سازمان ها را قادر می سازد بر تجارت اصلی بدون نگرانی از مسائلی از قبیل زیرساخت، انعطاف پذیری و در دسترس پذیری منابع تمرکز داشته باشند. افزون بر این، ترکیب مدل مطلوبیت محاسبات ابری و مجموعه جامعی از محاسبات، زیرساخت ها و خدمات ابری ذخیره سازی، محیط بسیار جالب توجهی ارائه می دهد که دانشمندان می توانند آزمایشات خود را انجام دهند. مدل های خدمات ابری عمدتا متشکل از PaaS، SaaS و IaaS است.
▪ PaaS از قبیل Google 's Apps Engine، Salesforce.com، Force platform و Microsoft Azure به منابع مختلفی اشاره دارد که بر روی یک ابر عمل می کنند تا محاسبات پلت فرم را برای کاربران نهایی فراهم کند.
▪ SaaS از قبیل Google Docs، Gmail، Salesforce.com ، و Online Payroll به برنامه های کاربردی اشاره دارد که بر روی یک زیرساخت ابری از راه دور عمل می کنند که توسط تامین کننده ابر به عنوان خدماتی ارائه شده که می تواند از طریق اینترنت در دسترس باشد.
▪ IaaS از قبیل Flexiscale و Amazon's EC2 به تجهیزات سخت افزاری اشاره دارد که بر روی ابر فراهم شده توسط
تامین کنندگان خدمات و مورد استفاده کاربران نهایی بر حسب تقاضا عمل می کند.
محبوبیت فزاینده شبکه های بی سیم و دستگاه های سیار موجب ارتقاء محاسبات ابری به گونه جدیدی شده که به خاطر قابلیت محدود پردازش، ظرفیت ذخیره سازی و عمر باتری هر دستگاه است این شرایط منجر به ظهور الگوی محاسبات ابری سیار شده است. تجهیزات ابری سیار کاربران را قادر به برون سپاری وظایف به تامین کنندگان خدمات خارجی می کند. برای مثال، داده ها را می توان در خارج از یک دستگاه سیار پردازش و ذخیره کرد. برنامه های کاربردی ابری سیار همچون Gmail، iCloud و Dropbox به تازگی رواج پیدا کرده اند. تحقیقات Juniper پیش بینی می کند برنامه های کاربردی ابری تا سال 2014 تقریبا تا 9/5 میلیارد دلار افزایش می یابد. چنین برنامه های کاربردی، عملکرد ابری سیار و تجربه کاربر را بهبود می بخشند. لیکن محدودیت های مرتبط با شبکه های بی سیم و ماهیت ذاتی دستگاه های سیار، موانع محاسباتی و ذخیره سازی داده را تحمیل کرده است.
.4 ارتباط بین محاسبات ابری و big data
محاسبات ابری و big data بهم پیوسته اند. Big data توانایی استفاده از محاسبات جهت پردازش پرس و جوهای توزیع شده در بین مجموعه داده های متعدد و برگشت به موقع مجموعه های حاصل را برای کاربران مهیا می سازد. محاسبات ابری، موتور اصلی را از طریق استفاده از Hadoop، دسته ای از پایگاه های داده پردازش شده توزیعی فراهم می کند. منابع داده بزرگ از ابر
4
و وب در یک پایگاه داده توزیعی مقاوم در برابر خطا ذخیره می شود و بوسیله یک مدل برنامه نویسی برای مجموعه داده های بزرگ با یک الگوریتم توزیعی موازی در یک خوشه پردازش می شود.
Big data از فناوری ذخیره سازی توزیعی براساس محاسبات ابری به جای حافظه داخلی متصل شده به کامپیوتر یا دستگاه الکتریکی استفاده می کند. ارزیابی big data از طریق برنامه های کاربردی ابری در حال رشد که با استفاده از فناوری های مجازی شده شکل گرفته صورت می گیرد. بنابراین محاسبات ابری نه تنها امکانات محاسبه و پردازش big data را فراهم می آورد بلکه به عنوان یک مدل خدماتی عمل می کند.
تالیا 1 درباره پیچیدگی و گوناگونی انواع داده و قدرت پردازش جهت انجام تحلیل مجموعه داده های بزرگ صحبت کرده است. وی اذعان داشت زیرساخت محاسبات ابری می تواند به عنوان پایگاهی موثر جهت در نظر گرفتن ذخیره سازی داده مورد نیاز برای انجام تجزیه و تحلیل big data عمل کند. محاسبات ابری با یک الگوی جدید برای تامین یک زیرساخت محاسبه و روش پردازش big data برای همه انواع منابع موجود در ابر از طریق تجزیه و تحلیل داده همبستگی دارد. فناوری های ابری متعددی باید با این محیط جدید مطابقت داشته باشند چون پرداختن به big data جهت پردازش همزمان به طور فزاینده ای پیچیده شده است. Map Reduce نمونه خوبی از پردازش big data در یک محیط ابری است؛ که پردازش مقادیر بزرگ مجموعه های داده ذخیره شده به صورت موازی در یک خوشه را میسر می سازد. محاسبات خوشه ای، عملکرد مناسب در محیط های سیستم توزیعی از قبیل توان کامپیوتر، ذخیره سازی و ارتباطات را نشان می دهد. همچنین بولیر2 و فیراستون3 بر توانایی محاسبات خوشه ای در ایجاد زمینه ای مساعد برای رشد داده تاکید نمودند. با این حال، میلر4 خاطر نشان ساخته عدم وجود داده پرهزینه است زیرا کاربران از تصمیمات بیشتر برای روش های تحلیلی صرف نظر می کنند؛ استفاده نادرست از این روش ها یا ضعف های ذاتی روش ها احتمالا منجر به تصمیمات نادرست و پرهزینه می شود. DBMS ها به عنوان بخشی از ساختار محاسبات ابری کنونی تلقی می شوند و نقش مهمی در تضمین انتقال آسان برنامه های کاربردی از زیرساخت های سازمانی قدیمی تا ساختارهای زیرساخت ابری جدید ایفا می کنند. فشار موجود برای سازمان ها در اتخاذ و اجرای سریع فناوری ها از قبیل محاسبات ابری به منظور بررسی چالش نیازهای ذخیره سازی و پردازش big data در بردارنده ریسک ها و عواقب غیر منتظره ای است.
.3 تجزیه و تحلیل big data
Big data در خلاء فاقد ارزش است. ارزش بالقوه آن تنها زمانی آشکار می شود که موجب انجام تصمیم گیری می گردد. به منظور میسر ساختن چنین تصمیم گیری مبتنی بر شواهد، سازمان ها نیازمند فرآیندهایی کارآمد برای تبدیل حجم های بزرگی از داده های پرسرعت و متنوع به اطلاعات معنادار هستند. فرآیند کلی استخراج اطلاعات از big data را می توان به پنج مرحله تفکیک کرد. این پنج مرحله، دو زیر فرآیند اصلی را تشکیل می دهند: مدیریت داده و تجزیه و تحلیل. مدیریت داده در برگیرنده فرآیندها و پشتیبان فناوری ها به منظور کسب داده ها و ذخیره آنها و آماده سازی و بازیابی شان برای تجزیه و تحلیل است. از سوی دیگر، تجزیه و تحلیل به تکنیک های مورد استفاده جهت تجزیه و تحلیل و کسب اطلاعات از big data اشاره دارد. لذا تجزیه و تحلیل big data را می توان به عنوان یک زیر فرآیند در فرآیند کلی »استخراج اطلاعات« از big data در نظر گرفت.
3.1 تجزیه و تحلیل متن
5
تجزیه و تحلیل متن1 (متن کاوی) به تکنیک هایی اشاره دارد که به استخراج اطلاعات از داده های متنی می پردازند. سازمان ها از اطلاعات به روز شده شبکه های اجتماعی، ایمیل ها، وبلاگ ها، کنکاش های اینترنتی، پاسخ های پژوهشی، اسناد شرکتی، اخبار، و لیست مرکز تلفن نگهداری می کنند. تجزیه و تحلیل متن شامل تجزیه و تحلیل آماری، زبانشناسی محاسباتی و یادگیری ماشین است. و امکان تبدیل حجم بزرگی از متن ایجاد شده توسط انسان به خلاصه های معنادار را برای کسب و کارها میسر می سازد، که از تصمیم گیری مبتنی بر شواهد پشتیبانی می کند. مثلا از تجزیه و تحلیل متن می توان جهت پیش بینی بازار سهام طبق اطلاعات مستخرج از اخبار مالی استفاده کرد .[10] مروری اجمالی بر شیوه های تجزیه و تحلیل متن در زیر خواهیم داشت.
تکنیک های استخراج اطلاعات (IE) داده های ساختار یافته را از متن بی ساختار استخراج می کنند. برای مثال، الگوریتم های IE قادر به استخراج اطلاعات ساختار یافته همچون نام دارو، دوز آن و فراوانی تجویزهای پزشکی هستند. دو وظیفه فرعی در IE عبارتند از تشخیص هویت نهاد (ER) و استخراج رابطه ER .[11] (RE) اسامی در متن ها را می یابد و آنها را به دسته های از پیش تعریف شده از قبیل شخص، تاریخ، موقعیت، و سازمان دسته بندی می کند. RE روابط معنایی بین نهادها (مثلا اشخاص، سازمان ها، داروها، ژن ها، غیره) در متن را پیدا و استخراج می کند.
تکنیک های خلاصه سازی متن به طور اتوماتیک خلاصه ای مختصر از یک یا چند سند ایجاد می کنند. خلاصه حاصل، اطلاعات مهم در متن (های) اصلی را انتقال می دهد. کاربردها عبارتند از مقالات علمی و خبری، تبلیغات، ایمیل ها و وبلاگ ها. عمدتا خلاصه سازی از دو رویکرد تبعیت می کند: رویکرد استخراجی و رویکرد انتزاعی. در خلاصه سازی استخراجی، خلاصه ای از واحدهای متن اصلی (معمولا جملات) ایجاد می شود. خلاصه حاصل، زیر مجموعه ای از سند اصلی است. براساس روش استخراجی، تشکیل یک خلاصه مستلزم تعیین واحدهای برجسته یک متن و ردیف کردن آنها با همدیگر است. اهمیت واحدهای متن از طریق تجزیه و تحلیل موقعیت و فراوانی آنها در متن ارزیابی می شود. تکنیک های خلاصه سازی استخراجی مستلزم »درک« متن نیست. در مقابل، تکنیک های خلاصه سازی انتزاعی مشتمل بر استخراج اطلاعات معنایی از متن است. خلاصه ها حاوی واحدهایی از متن هستند که الزاما نشان دهنده متن اصلی نیستند. به منظور تجزیه متن اصلی و تشکیل یک خلاصه، خلاصه سازی انتزاعی تکنیک های پردازش زبان طبیعی (NLP) پیشرفته را تلفیق می کند. در نتیجه، سیستم های انتزاعی مایل به ایجاد خلاصه های منسجم تر نسبت به سیستم های استخراجی هستند .[12] لیکن انتخاب سیستم های استخراجی خصوصا برای big data آسان تر است.
تکنیک های پاسخ دهی به سوال (QA) پاسخ هایی برای سوالات مطرح شده در زبان طبیعی فراهم می کنند. Apple’s Siri
و IBM’s Watson نمونه هایی از سیستم های تجارتی QA می باشند. این سیستم ها در مراقبت پزشکی، امور مالی، بازاریابی
و آموزش و پرورش اجرا شده اند. سیستم های QA مشابه خلاصه سازی انتزاعی متکی به تکنیک های پیچیده NLP هستند. تکنیک های QA به سه دسته طبقه بندی می شوند: روش مبتنی بر بازیابی اطلاعات (IR)، روش مبتنی بر دانش، و روش ترکیبی. سیستم های QA مبتنی بر IR اغلب سه مؤلفه فرعی دارند. نخست، پردازش سوال است که برای تعیین جزئیات نظیر نوع سوال، کانون توجه سوال، و نوع پاسخ به کار می رود، از آن ها برای ایجاد یک پرس و جو استفاده می شود. دوم، پردازش سند است که برای بازیابی متن های از قبل نوشته شده مرتبط از مجموعه ای از اسناد موجود با استفاده از پرس و جوی ایجاد شده در پردازش سوال به کار می رود. سوم، پردازش پاسخ است که جهت استخراج پاسخ های صریح از خروجی مؤلفه قبلی، رتبه بندی آنها و بازگشت مورد مناسب با بالاترین رتبه به عنوان خروجی سیستم QA به کار می رود. سیستم های QA مبتنی بر دانش، شرح معنایی از پرسش ایجاد می کند که بعدا برای پرس و جو درباره منابع ساختار یافته به کار می رود. این سیستم ها خصوصا برای حیطه های محدود از قبیل توریسم، پزشکی و حمل و نقل مفید است که حجم های بزرگ اسناد از پیش نوشته