پردازش جریانی داده (Data Streaming)
امروزه، سرعت تولید اطلاعات، پردازش سریع و اتخاذ تصمیمات لحظهای رو به افزایش است. در همین راستا یکی از نیازهای اصلی در حوزه مدیریت و پردازش داده، پردازش جریانی داده (Data Streaming) در حال حرکت (Data in Motion) می باشد.
در کنار رواج زیرساخت های کلان داده و ثبات نسبی الگوریتم ها و مدل های پردازشی (Data Streaming) مقیاس پذیر، مبحث پردازش جریان(Stream Processing) مطرح می باشد. این پردازش، به دلیل:
- رواج روزافزون اینترنت اشیاء
- وجود دستگاههای هوشمند
- لزوم پردازش سریع و لحظهای
- حجم عظیم دادههای ورودی
به یک موضوع شایع در چند سال اخیر تبدیل شده است. به گونهای که حتی سامانههای کلاسیک پردازش بسته ای داده (Batch Processing) مانند Hadoop را به عنوان بخشی از یک سامانه پردازش جریان تعریف میکنند.
از منظری دیگر، برخی از دادهها به سرعت می آیند و میروند. به این معنی که اگر آنها را در هنگام رسیدن پردازش نکنیم از دست رفته و دیگر نمیتوان آنها را برای کارهایی مانند محاسبات فراخوانی کرد. در واقع دادههایی که باید به محض دریافت سریعاً پردازش شوند و اگر این کار انجام نشود، این دادهها از دست خواهند رفت. این گونه دادهها سرعت تولید بسیار بالایی دارند. و به طبع حجم زیادشان، قادر به ذخیره سازی در پایگاه دادهها نیستند. همچنین می توان آنها را به صورت یک data set بر روی دیسک سخت ذخیره کرد.
خدمات و سامانه های مرتبط
سامانه های پردازش جریانی (Data Streaming) را می توان بصورت زیر تعریف کرد:
پلتفرم های داده ای که با حجم داده نامحدود مرتبط هستند و باید بتوانند در زمان مناسب، پردازش و تحلیل لازم را روی این دادههای در جریان، انجام دهند.
خدمات پردازش جریانی داده (Data Streaming) در بستر کلان داده با استفاده Storm، Samza،Apex ،Flink و Spark قابل انجام میباشد. و در صورت تمایل می توان از Kafka و RabbitMQو … بصورت مستقل استفاده نمود.
الگوریتمهای بسیاری از جمله داده کاوی و یادگیری ماشین، طراحی شده اند. تا با مجموعهای از دادههای موجود یا همان data setها کار کنند.