سیستم مدیریت جویبار داده: تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
Rzaahmadi69 (بحث | مشارکت‌ها)
ایجاد شده توسط ترجمهٔ صفحهٔ «Data stream management system»
برچسب‌ها: استفادهٔ زیاد از تگ یا الگوی سرخط ترجمهٔ محتوا
(بدون تفاوت)

نسخهٔ ‏۲۴ ژانویهٔ ۲۰۱۷، ساعت ۰۶:۰۸

یک سامانه ی مدیریت جریان داده  (DSMS) یک برنامه کامپیوتری برای مدیریت مستمر جریان داده است که شبیه به یک سیستم مدیریت پایگاه داده (DBMS) است که برای داده های استاتیک در پایگاه داده های مرسوم طراحی شده است.یک DSMS همچنین یک پردازش پرس و جوی انعطاف پذیر را ارائه می دهد به طوری که اطلاعات مورد نیاز بیان شده می تواند با استفاده از آن نمایش داده شود. اما در مقایسه با یک DBMS یک DSMS یک پرس و جو مستمر را اجرا می کند که نه تنها یک بار انجام می شود، بلکه به طور دائم نصب شده است. بنابراین پرس و جو به طور مداوم تا زمانی که آن را به صراحت حذف نکنیم، اجرا می شود. از آنجا که اکثر DSMS ها data-driven هستند، یک پرس و جوی مستمر تا زمانی که داده های جدید وارد سیستم می شود، نتایج جدید تولید می کند. این مفهوم اساسی شبیه به پردازش رخداد مجتمع است به طوری که هردو فناوری تا حدودی یکی هستند.

اصل عملکردی

یکی از مهم ترین ویژگی های یک DSMS امکان رسیدگی به طور بالقوه و همزمان به جریان داده هایی است که بی نهایت و به سرعت در حال تغییر هستند، اگر چه منابعی مانند حافظه ی اصلی محدود هستند. جدول زیر اصول مختلف DSMS را ارائه می کند و آنها را با DBMS سنتی مقایسه می کند.

سیستم مدیریت پایگاه داده (DBMS) جریان داده های سیستم مدیریت (DSMS)
داده های ماندگار (روابط) جریان داده های فرار
با دسترسی تصادفی دسترسی ترتیبی
پرس و جو های یک باره
پرس و جوهای مداوم و مستمر
(از لحاظ تئوری) فضای ذخیره سازی ثانویه نامحدود
حافظه اصلی محدود
تنها به حالت فعلی وابسته است ترتیب ورودی را در نظر می گیرد
نرخ به روز رسانی نسبتا پایین
به طور بالقوه نرخ به روز رسانی بسیار بالا
نیازمندی های کم
نیازمندی های بلادرنگ
داده های دقیق را دریافت می کند
داده های منسوخ یا نادرست را دریافت می کند
 پردازش پرس و جو قابل برنامه ریزی وارد می شود
داده های متغیر و مشخصات داده ها وارد می شود

مدل های پردازش و جریان

یکی از بزرگترین چالش هایی که یک DSMS دارد، رسیدگی به طور بالقوه به بی نهایت جریان داده با استفاده از یک مقدار ثابت از حافظه و هیچ گونه دسترسی تصادفی به داده ها است. روش های مختلفی به منظور محدود کردن مقدار داده ها در یک گذر وجود دارد که می توان آن ها را به دو نوع تقسیم کرد. نوع اول تکنیک های فشرده سازی است که سعی می کند داده هارا خلاصه کند و نوع دوم تکنیک های پنجره است که سعی می کند داده ها را به بخش های محدود تقسیم کند.

فشرده سازسی

ایده پشت تکنیک های فشرده سازی این است که تنها یک خلاصه ای از داده ها، اما نه همه (خام) نقاط داده ها از جریانی از داده ها حفظ می شود. الگوریتم ها به وسیله ی استفاده از هیستوگرام ها و یا طراحی، طیف وسیعی از نقاط تصادفی داده ها را به عنوان نمونه برای خلاصه سازی انتخاب می کند. یک مثال ساده از یک فشرده سازی محاسبه مداوم یک معدل است. به جای به خاطر سپردن هر نقطه داده ها، فشره سازی تنها حاصل جمع و تعداد موارد را نگه می دارد. معدل با تقسیم این حاصل جمع بر تعداد محاسبه می شود. با این حال باید ذکر شود که فشره سازی نمی تواند منعکس کننده اطلاعات دقیق باشد. بنابراین یک پردازش که بر اساس فشره سازی است  ممکن است نتایج نادرست تولید کند.

پنجره ها

به جای استفاده از سیناپس برای فشرده سازی مشخصات کل جریان داده، تکنیک پنجره تنها به یک بخش از داده ها نگاه می کند. این روش براساس این ایده که تنها داده های اخیر مناسب هستند، عمل می کند. بنابراین یک پنجره به طور مداوم بخشی از جریان داده ها را برش می دهد.به عنوان مثال ده عنصر اخیر جریان داده ها در طول پردازش مورد استفاده قرار می گیرند. انواع مختلفی از این پنجره ها وجود دارد مانند پنجره های کشویی که شبیه به لیست FIFO است و یا پنجره های  لغزان که بخش های متلاشی شده را برش می دهد. علاوه بر این پنجره ها می توانند براساس عناصرشان نیز فرق گذاشته شوند، به عنوان مثال در نظر گرفتن ده عنصر آخر و یا براساس زمان فرق گذاشته شوند و ده ثانیه ی آخر داده ها در نظر گرفته شوند. همچنین روش های مختلفی برای پیاده سازی پنجره ها وجود دارد. برای مثال روش هایی موجود است که از برچسب زمانی و یا فواصل زمانی برای پنجره های سیستم گسترده یا پنجره های مبتنی بر بافر برای هر گام پردازش استفاده می کند. پردازش پرس و جو ای پنجره های کشویی نیز در پردازنده های موازی مناسب است که با بهره برداری از موازی سازی بین پنجره های مختلف و یا در داخل محدوده ی هر پنجره پیاده سازی می شود.[۱]

منابع

  1. De Matteis, Tiziano; Mencagli, Gabriele (25 March 2016). "Parallel Patterns for Window-Based Stateful Operators on Data Streams: An Algorithmic Skeleton Approach". International Journal of Parallel Programming. doi:10.1007/s10766-016-0413-x.