روزانه ما در جهان به اندازه ۲٫۵ کوانتیلیون بایت داده تولید می کنیم و بیش از ۹۰ % داده های امروزه در جهان در دو سال اخیر
ایجاد شده اند. برخی نمونه های داده های ایجاد شده در صنایع مختلف به شرح زیر می باشند:
داده های مربوط به سنسورهای آب و هوا
پست های وب سایت های شبکه های اجتماعی
تصاویر و ویدئو های دیجیتال
رکوردهای خرید مشتریان
سیگنالهای GPS
شرکتهای بزرگ مثل گوگل، یاهو، آمازون، فیسبوک و توییتر از عوامل اصلی ایجاد و شکلگیری هیجانهای اولیه درباره big data بودند. جریان های داده ناشی از کلیک (Clikstream) که کاربران برای این شرکتها ایجاد میکردند، منجر به تولید انبوهی از دادهها شد؛ دادههایی که فقط هنگامی که یکجا جمع و پردازش شوند، ارزش واقعی پیدا میکنند. در این روند به تدریج، حجم و جریان اطلاعات آنقدر زیاد شد که دیگر با روشهای تحلیل وب سنتی نمیشد آنها را سازماندهی کرد.
داده های بزرگ یا عظیم داده ترجمه اصطلاح Big Data می باشد که معمولا به مجموعه ای از داده ها اطلاق می شود که اندازه آنها فراتر از حدی است که با نرم افزارهای معمول بتوان آنها را در یک زمان معقول اخذ، دقیق سازی، مدیریت و پردازش کرد. مفهوم «اندازه» در داده های بزرگ بطور مستمر در حال تغییر است و به مرور بزرگتر می شود. از این رو با رشد روز افزون داده ها و نیاز به بهره برداری و تحلیل این داده ها، بکارگیری زیرساخت های Big Data از اهمیت ویژه ای برخوردار شده است. از سال ۲۰۱۲ به بعد در هر روز بیش از هزار پتا بایت معادل ۱,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰ بایت داده تولید می شود که به دنبال خود مستلزم ذخیره سازی، تحلیل، جستجوها، تمیزکاری داده ها، اشتراک ها و… در داده هاست که باید در حوزه مختلف انجام شود.
این موضوع باعث شده است که پژوهشگران و دانشمندان به دنبال ایجاد ساختارها، متدلوژی ها، روش ها و رویکردهای جدیدی برای مدیریت، کنترل و پردازش این حجم از داده ها باشند که این تلاش ها در ذیل سایه «داده های بزرگ» مطرح شده است. مفهوم «اندازه» در داده های بزرگ بطور مستمر در حال تغییر است و به مرور بزرگتر می شود.
در سال ۲۰۰۱ موسسه گارتنر سه بعد از چالش ها و فرصت های پیش رو در حوزه رشد داده ها را مطرح کرد که عبارت بودند از:
۱٫ افزایش حجم (Volume): افزایش در میزان داده
۲٫ سرعت و شتاب (Velocity): افزایش سرعت تولید داده های ورودی و خروجی
۳٫ تنوع (Variety): افزایش محدوده تنوع و منابع داده ها
که این ویژگی ها به عنوان ویژگی های اصلی و معرف داده های بزرگ مطرح شدند.
در سال ۲۰۱۲ موسسه گارتنر تعریف جدیدی را ارایه کرد:
داده های بزرگ، حجم بالا، سرعت و شتاب بالا و تنوع بالایی از دارایی های اطلاعاتی هستند که نیازمند شکل جدیدی از پردازش هستند تا بتوانند تصمیم گیری را غنی تر سازند، بینش جدیدی را کشف کنند و نیز فرآیندها را بهینه نمایند.
علاوه بر این مفهوم جدیدی به نام صحت (Veracity) نیز به ویژگی های داده های بزرگ افزوده شد تا بتواند آن را بهتر توصیف نماید.
با توجه به آنچه که گفته شد، بین داده های بزرگ و هوش تجاری (Business Intelligence) نیز تفاوت هایی وجود دارد.
هوش تجاری از آمار توصیفی داده های با چگالی بالا برای اندازه گیری و نیز تشخیص روندهای موجود استفاده می کند.
داده های بزرگ از آمار استقرایی و مفهومی برای ارایه قوانین (رگرسیون، روابط غیرخطی و…) در مجموعه بزرگی از داده ها که چگالی اطلاعاتی کمتری دارند، استفاده می کند تا روابط، وابستگی ها و پیش بینی هایی را از رفتارها و خروجی ها ارایه نماید.
با این توضیحات ویژگی ها و مشخصات ارایه شده برای داده های بزرگ را می توان به شرح ذیل برشمرد:
الف. حجم : مقدار و میزان داده تولید شده در حوزه داده های بزرگ بسیار مهم است. در واقع حجم داده تعیین می کند که آیا میزان خاصی از داده ها در چهارچوب داده های بزرگ قرار می گیرد یا نه چرا که نام «داده های بزرگ» خود مفهوم بزرگی را به دنبال دارد.
حجم دادهها به صورت نمایی رشد میکند :
افزایش ۴۴ برابر از سال ۲۰۰۹ تا سال ۲۰۲۰
از ۰٫۸ زتابایت به ۳۵ زتابایت
ب. تنوع : تنوع داده ها برای کسانی که با تحلیل داده ها سر و کار دارند بسیار مهم است، چرا که به آنها کمک می کند تا به طور موثرتری بتوانند داده ها را در جهت منافع خود به کار بگیرند.
داده رابطهای (جداول ، معامله ، میراث داده ها)
داده متنی ( وب )
داده نیمه ساختیافته ( XML )
داده گرافی
شبکه اجتماعی ، وب معنایی (RDF )
ج. سرعت و شتاب : شتاب و سرعت در حوزه داده های کلان به سرعت تولید داده ها و نیز به چگونگی سرعت تولید و پردازش داده ها برای اهداف پیش روی توسعه و رشد اشاره دارد.
د. تغییر پذیری : این ویژگی مشکل بزرگی را برای تحلیل ابر داده ها ایجاد می کند چرا که با گذشت زمان تناقضاتی را در داده ها ایجاد می کند که مانع مدیریت و پردازش موثر آنها می شود.
هـ. صحت : کیفیت داده هایی که از حوزه های مختلف به دست آمده است می تواند بسیار مهم باشد. دقت تجزیه و تحلیل داده ها به صحت اطلاعات منابع داده ای وابسته است.
و. پیچیدگی : مدیریت داده ها می تواند به یک فرآیند پیچیده تبدیل شود، مخصوصا زمانی که حجم زیادی از داده ها از منابع متعدد آمده باشد. این داده ها باید به همدیگر متصل شوند و ارتباط درستی بین آنها ایجاد گردد تا بتواند درک درستی از اطلاعات به وجود آورد. از این وضعیت در داده های بزرگ به پیچیدگی یاد می شود.
تجزیه و تحلیل در داده های بزرگ شامل شش حوزه می باشد که عبارتند از:
ارتباط: حسگرها و شبکه ها
ابر: محاسبات و داده های برخط
سایبر: مدل و حافظه
محتوا و زمینه: معانی و ارتباطات
جوامع: اشتراک و همکاری
سفارشی سازی: شخصی سازی و ارزش
معماری داده های بزرگ
در سال ۲۰۰۰ شرکت سیزینت (Seisint) چهارچوب اشتراک فایل توزیع شده را مبتنی بر C++ برای ذخیره سازی و جستجو در داده ها توسعه داد که می توانست داده های ساختاریافته، نیمه ساخت یافته و غیرساخت یافته را در چندین سرور توزیع شده ذخیره و توزیع کند.
در سال ۲۰۰۴ شرکت لکسیزنکسیز (LexisNexis) شرکت سیزینت و در سال ۲۰۰۸ شرکت چویزپوینت (ChoicePoint) را به همراه پلترفرم های پردازش موازی قدرتمند آنها خرید و با ترکیب آنها سیستم HPCC را ارایه کرد که در سال ۲۰۱۱ تحت گواهی آپاچی ۲ به صورت متن باز ارایه گردید. در حال حاضر HPCC و نیز Quantcast File System تنها سکوهایی هستند که به صورت عمومی در دسترس می باشند که قابلیت تحلیل هزاران ترابایت از داده ها را دارا هستند.
گوگل نیز در سال ۲۰۰۴ سندی را برای پردازشی با نام MapReduce منتشر کرد که از همان معماری استفاده می کرد. این چهارچوب نیز مدلی از پردازش موازی ارایه می کند که می تواند پردازش ها و جستجوها را تجزیه کرده و در نودهای مختلف مورد پردازش قرار دهد (مرحله Map ) و سپس آنها را جمع آوری کند (مرحله Reduce ). این چهارچوب بسیار موفق بود و موجب شد تا دیگران نیز از همین الگوریتم استفاده کنند. بدین ترتیب پروژه ای open source به نام Hadoop با به کارگیری این الگوریتم متولد شد. این چهار چوب از معماری Hadoop Distributed File System (HDFS) بهره می گیرد. بسیاری از کاربران هادوپ گزارش داده اند که قابلیت خلق محصولات و خدمات جدیدی را داشته اند که منجر به کاهش هزینه ها به مقدار قابل توجهی شده است. بیش از ۸۲ % ازسرعت آنالیز این نرم افزار و همچنین استفاده از منابع محاسباتی آن بهره مند شده اند. %۸۷ از کاربران هادوپ در حال اجرا یا برنامه ریزی انواع جدید آنالیزهایی با مقیاس وسیع داده ها می باشند. %۹۴ از کاربران آنالیزهایی روی داده های حجیم انجام داده اند که قبلا قادر به انجام آن هانبوده اند. ۸۸ % داده هایی را با جزئیات بیشتری آنالیز کرده در حالی که ۸۲ % در حال حاضر قادر به حفظ بیشتر داده های خود می باشند. %۶۳ از سازمان ها به طور خاص از هادوپ برای مدیریت داده های بی ساختار مانند داده های مربوط به واقعه و لاگ استفاده کرده اند.
Cluster Computing : یکی از معماری های متداول کاربردهای با مقیاس بسیار بالای کلاستری از نودهای محاسباتی است( چیپ پردازنده، حافظه اصلی و دیسک). نودهای محاسباتی در رک ها جاسازی شده اند و نودهای روی یک رک متصل هستند (معمولا با gigabit Ethernet). رک ها هم با شبکه یا سوئیچ های پرسرعت متصل هستند.
فایل سیستم های توزیع شده: معماری برای فایل سیستم های با مقیاس بسیار بزرگ که اخیرا توسعه داده شده می باشد. فایل ها از چانک هایی در حدود ۶۴ مگا بایت تشکیل شده اند و هر چانک چندین بار در نودها و رک های مختلف تکرار می شود.
MapReduce: این سیستم programming اجازه می دهد شخص از توازن ذاتی cluster computing بهره برداری کند و شکست های سخت افزاری را که ممکن است در طول محاسبات طولانی بر روی نودهای بسیار اتفاق بیفتد مدیریت کند. تسک های بسیار زیاد Map و Reduce توسط یک فرایند Master مدیریت می شوند. تسک های روی یک نود محاسباتی fail شده، توسط Master مجددا اجرا می شوند.
The Map Function: این تابع توسط کاربر نوشته می شود. مجموعه ای از اشیاء ورودی را می گیرد و هر یک را به صفر یا زوج key-value های بیشتری تبدیل می کند. کلیدها لزوما منحصر به فرد نیستند.
The Reduce Function: سیستم MapReduce programming تمامی زوج key-value های تولید شده توسط همه تسک های Map را سورت میکند، تمام مقادیر مرتبط به یک کلید مشخص را به یک لیست می دهد و key-list pairs را به تسک های Reduce توزیع می کند. هر تسک Reduce المان های روی هر لیست را با به کار گیری تابع نوشته شده توسط کاربر ترکیب می کند. نتایج تولید شده توسط همه تسک های Reduce خروجی فرایند MapReduce را شکل می دهد.
Reducers: اغلب بهتر است به کاربرد تابع Reduce به صورت یک تک کلید و لیست مقادیر مرتبط با آن به عنوان Reducers اشاره شود.
Hadoop: این سیستم programming پیاده سازی کد باز فایل سیستم توزیع شده (HDFS, the Hadoop Distributed File System) و MapReduce (خود Hadoop) است که از طریق بنیاد آپاچی در دسترس قرار گرفته است.
مدیریت شکست نودهای محاسباتی: سیستم های MapReduce شروع مجدد تسک هایی که به دلیل شکست نود محاسباتی یا رک های شامل نودها، دچار شکست شده اند را پشتیبانی می کند. به این دلیل که Map و Reduce تنها پس از اینکه تسکشان به پایان می رسد خروجی را ارائه می دهند، این احتمال وجود دارد که بدون دغدغه درباره احتمال تکرار تاثیر تسک fail شده آن را مجددا شروع کرد. تنها زمانی که نودی که Master روی آن اجرا می شود fail شود لازم است که کل job از اول شروع شود.
کاربردهای MapReduce: درحالی که همه الگوریتم های موازی برای پیاده سازی فریمورک MapReduce مناسب نیستند، پیاده سازی های ساده ای از ضرب ماتریس-بردار و ماتریس- ماتریس وجود دارد. به علاوه اپراتورهای اصلی جبر رابطه ای در MapReduce به سادگی پیاده سازی می شوند.
سیستم های Workflow: در سیستم های MapReduce که از هرگونه مجموعه توابع آسیکلیک پشتیبانی می کنند، عمومی سازی شده است. که هریک از آنها را می توان با هر تعداد تسک که هریک موظف به اجرای آن تابع روی بخشی از داده است، نمونه دهی کرد.
Recursive Workflows: زمان پیاده سازی مجموعه ای بازگشتی از توابع، همیشه مقدور نیست که قابلیت شروع مجدد تسک های fail شده را حفظ کرد زیرا تسک های بازگشتی ممکن است خروجی تولید کرده باشند که قبل از شکست توسط تسک دیگری استفاده شده باشد.
Multiway Joins: گاهی اوقات به صرفه تر است که چند رابطه درگیر در یک join را تکرار کرد و join ای با ۳ رابطه یا بیشتر داشت که به صورت یک job در MapReduce انجام می شود. تکنیک ضرب لاگرانژ را می توان برای بهینه کردن درجه تکرار هر رابطه استفاده کرد.
Star Joins: کوئری های تحلیل اغلب دارای یک جدول بسیار بزرگ هستند که با dimension table های کوچک تر، join شده است. این join ها را اغلب می توان با تکنیک multiway-join انجام داد. راه دیگر این است که این جدول بزرگ توزیع شود و dimension table ها را بصورت دائمی بازگرداند.
Replication Rate and Reducer Size: اغلب بهتر است ارتباطات را با نرخ replication محاسبه کرد که communication per input است. به علاوه اندازه reducer ماکزیمم تعداد ورودی های مرتبط با هر reducer است.
تکنولوژی های داده های بزرگ
داده های بزرگ به تکنولوژی های فوق العاده ای برای پردازش داده های عظیم در مجموعه های بزرگ نیازمند است تا بتواند در زمانی معقول پاسخگوی نیازها و اهداف تحلیل و پردازش داده ها باشد. در سال ۲۰۱۱ موسسه مککینزی (McKinsey) تکنولوژیهایی را برای داده های بزرگ پیشنهاد داد که جمع سپاری ، گداخت و یکپارچه سازی اطلاعات ، الگوریتم ژنتیک ، یادگیری ماشین ، پردازش زبان طبیعی ، پردازش سیگنال ، شبیه سازی ، تحلیل سری های زمانی و مصورسازی از جمله آنها بوده است.
کاربردهای داده های بزرگ
داده های بزرگ تقاضا برای متخصصان در این حوزه را به شدت بالا برده است و شرکت هایی چون Oracle، IBM، Microsoft، SAP و… بیش از ۱۵ میلیارد دلار برای توسعه نرم افزارهای مدیریت و تحلیل داده سرمایه گذاری کرده اند. داده های بزرگ نحوه کار سازمان ها و افراد را تحت تاثیر قرار می دهد. بخش دولتی: در بخش دولتی استفاده از داده های بزرگ سبب کاهش هزینه ها، افزایش بهره وری و نیز ظهور و بروز نوآوری های جدید می شود. لیکن در بخش دولتی استفاده از چهارچوب های مبنی بر داده های بزرگ نیازمند همکاری بخش های مختلفی، از جمله وزارتخانه ها و نیز بخش های محلی و شرکت های دولتی است.
بخش خصوصی: در بخش خصوصی مثال های زیادی از کاربردهای داده های بزرگ می توان بر شمرد. شرکت eBay از دو انباره داده ۷٫۵ پتابایتی به همراه دو انباره ۴۰ پتابایت در Hadoop برای تحقیقات و سیستم پیشنهاد به مشتری و فروش استفاده می کند.
شرکت آمازون روزانه میلیون ها عملیات در داخل شرکت و نیز عملیات مربوط به همکاران خود را مدیریت می کند به طوری که از سال ۲۰۰۵ سه دیتابیس بزرگ جهان بر روی لینوکس را به خود اختصاص داده است.
منبع::: rayanehmag.net