بیگ دیتا و پردازش داده های جریانی

big dataمقدمهبیگ دیتا مجموعه داده‌هایی که اندازه آنها فراتر از حدی است که با نرم افزارها و روشهای معمول بتوان آنها را در یک زمان قابل قبول، دریافت، ذخیره، مدیریت و پردازش کرد. دراین تعریف، حجم داده مشخص نشده است چون میزان کلان بودن داده همزمان با پیشرفت فناوری‌های ذخیره‌سازی و پردازش اطلاعات روز به روز و عموماً به‌خاطر تولید داده‌‌ توسط تجهیزات و ابزارهای مختلف دیجیتال در حال افزایش است. گوشی‌هاي موبایل، حسگرهای محیطی، لاگ نرم‌افزارهای مختلف، دوربین‌ها، میکروفون‌ها، دستگاه‌هاي تشخیص RFID، شبکه‌هاي حسگر بی‌سیم، ایستگاه‌های هواشناسی، سامانه‌های امواج رادیویی، مبادلات شبکه‌های اجتماعی آنلاین، متون و اسناد اینترنتی، داده‌های نجوم، اطلاعات پزشکی و سلامت بیماران، اطلاعات سامانه‌های خرید از فروشگاه‌ها، پژوهش‌های زمین‌شناسی و غیره نمونه‌هایی از داده‌ها در مقیاس کلان هستند. مقیاسی که امروزه از گیگابایت و ترابایت به پتا بایت و اگزا بایت و زتا بایت در حال حرکت است .برای درک بهتر موضوع بهتر است از یک مثال ساده کمک بگیریم: یک فروشگاه زنجیره‌ای را در نظر بگیرید که روزانه صدها مشتری دارد و اطلاعات مربوط به تاریخ مراجعه و اقلام خریداری شده توسط هر مشتری را ذخیره می‌کند. پس از گذشت چند سال حجم این داده‌‌های ذخیره شده به حد چشمگیری افزایش می‌یابد و با بررسی آنها می‌توان به نتایج ارزشمندی دست پیدا کرد که منجر به مدیریت بهتر فروشگاه، افزایش فروش و کاهش هزینه‌‌ها می‌شود. بعنوان مثال می‌توان دریافت که بیشترین و کمترین مراجعه به فروشگاه مربوط به چه روزهاییست و هر یک از اقلام موجود در فروشگاه در چه روزهایی بیشترین تقاضا را داشته‌‌اند و از این اطلاعات برای کنترل موجودی انبار در آینده بهره بردحتی می‌توان مشتریان را بر اساس الگوی خریدشان به گروه‌های مختلفی تقسیم کرد مثلا کسانی که هر ماه در لیست خرید خود اقلام مربوط به کودکان( مثل شیرخشک و پوشک و ... ) را داشته‌اند در قالب یک گروه دسته بندی کرد و پس از این پیام‌های تبلیغاتی مربوط به کالای کودک به جای ارسال به تمام مشتری‌ها، به صورت هدفمند فقط برای این دسته ارسال شود.در واقع این فروشگاه با استفاده از بیگ دیتا و تحلیل آن می‌تواند رفتار و نیاز مشتری در گذشته را بررسی کند، به الگوی مصرفش پی ببرد و در نتیجه نیاز آینده او را پیش‌بینی کند و به بهترین شکل آماده پاسخگویی به آن شود. تفاوت بین داده (Data) و اطلاعات (Information) داده‌ها ورودی‌های خام هستند و هرچه قدر هم که متنوع و حیجم باشند به خودی خود ارزش چندانی ندارند و چیزی که آنها را ارزشمند می سازد تجزیه و تحلیلی است که روی آنها صورت می گیرد که در واقع داده ها بدون هیچ ترتیب و طبقه‌بندی معناداری جمع‌آوری شده‌اند و در نتیجه مفهوم خاصی را منتقل نمی‌کنند اما، در صورتی که روی آنها پردازش خاصی انجام دهیم تبدیل به اطلاعات می‌شوند که انتقال دهنده معنا و مفهومی هستند. هدف از این تنجزیه و تحلیل ، که با عنوان داده کاوی ار آن یاد می شود ، کشف الگو ها وناهنجاری هاییست که که در مجمو عه داده های جمع آوری شده قرار دارند .به عنوان مثال نمرات دانش‌آموزان یک کلاس که بدون ترتیب خاصی در یک فایل ذخیر شده‌اند، داده هستند اما زمانی که آنها را به صورت صعودی مرتب می‌کنیم یا میانگین آنها را محاسبه می‌کنیم این داده‌ها به اطلاعات تبدیل می‌شوند. مفهوم Batch Processingمنظور از Batch processing پردازش دسته ای از داده هایی است که در یک بازه ی زمانی پردازش و ذخیره شده اند. این گونه داده ها شامل میلیون ها رکورد برای یک روز است که می تواند به عنوان یک فایل ذخیره شوند. این فایل ها در پایان یک روز برای انواع تحلیل ها مورد پردازش قرار میگیرند. و در نتیجه زمان بسیاری هم صرف انجام پردازش میشود. که به این گونه پردازش ها batch processing می گویند.زمانی batch processing مورد استفاده قرار میگیرد که به نتایج تحلیل های real time نیاز نیست.چالشها و خصوصیات Big Data در Stream Processingاین چالش ها در ابتدا سه بعد اصلی حجم داده، نرخ تولید و تنوع به عنوان ۳V’s مطرح شدند ولی در ادامه چالش های بیشتری در ادبیات موضوع توسط محققان مطرح شده است:حجم داده (Volume): حجم داده های تولید شده آن قدر حجیم است که ذخیره اطلاعات نیازمند سخت افزار و زیرساخت است که با استفاده از stream processing میتوان حجم این اطلاعات را به صورت آنی پردازش و فقط اطلاعات مورد نیاز را استخراج کرد و در storage ذخیره سازی کرد.نرخ تولید (Velocity): داده ها از طریق برنامه های کاربردی و سنسورهای بسیار زیادی که در محیط وجود دارند با سرعت بسیار زیاد و به صورت بلادرنگ تولید می شوند که اغلب باید در لحظه پردازش و ذخیره شوند.تنوع (Variety): انواع منابع داده و تنوع در نوع داده بسیار زیاد می باشد که در نتیجه ساختارهای داده ای بسیار زیادی وجود دارد و بیشتر حجم داده دنیا هم بی­ساختار و بسیار متنوع است.صحت (Veracity): با توجه به اینکه داده ها از منابع مختلف دریافت می شوند، ممکن است نتوان به همه آنها اعتماد کرد. مثلا در یک شبکه اجتماعی، ممکن است نظرهای زیادی در خصوص یک موضوع خاص ارائه شود. اما اینکه آیا همه آنها صحیح و قابل اطمینان هستند، موضوعی است که نمیتوان به سادگی از کنار آن در حجم بسیار زیادی از اطلاعات گذشتاعتبار (Validity): با فرض اینکه دیتا صحیح باشد، ممکن است برای برخی کاربردها مناسب نباشد یا به عبارت دیگر از اعتبار کافی برای استفاده در برخی از کاربردها برخوردار نباشد.نوسان (Volatility): سرعت تغییر ارزش داده های مختلف در طول زمان می تواند متفاوت باشد. در کاربردهایی نظیر تحلیل ارز و بورس، داده با نوسان زیادی مواجه هستند و داده ها به سرعت ارزش خود را از دست میدهند و مقادیر جدیدی به خود می گیرند. اگرچه نگهداری اطلاعات در زمان طولانی به منظور تحلیل تغییرات و نوسان داده ها حائز اهمیت است. افزایش دوره نگهداری اطلاعات، مسلما هزینه های پیاده سازی زیادی را دربر خواهد داشت که باید در نظر گرفته شود.نمایش (Visualization): یکی از کارهای مشکل در حوزه کلان داده، نمایش اطلاعات است. اینکه بخواهیم کاری کنیم که حجم عظیم اطلاعات با ارتباطات پیچیده، به خوبی قابل فهم و قابل مطالعه باشد از طریق روش های تحلیلی و بصری سازی مناسب اطلاعات امکان پذیری است.ارزش (Value): آیا هزینه ای که برای نگهداری داده و پردازش آنها میشود، ارزش آن را از نظر تصمیم گیری دارد یا نه و ارزش و فایده موردنظر را برای یک سازمان خواهند داشت