نظام إدارة تدفق البيانات
نظام إدارة تدفق البيانات (DSMS) هو نظام برمجي حاسوبي يُستخدم لإدارة تدفقات البيانات المستمرة . وهو يُشبه نظام إدارة قواعد البيانات (DBMS)، إلا أنه مُصمم للبيانات الثابتة في قواعد البيانات التقليدية . يوفر نظام إدارة قواعد البيانات أيضًا معالجة استعلامات مرنة، بحيث يُمكن التعبير عن المعلومات المطلوبة باستخدام الاستعلامات. ولكن، على عكس نظام إدارة قواعد البيانات، يُنفذ نظام إدارة تدفق البيانات استعلامًا مستمرًا لا يُنفذ مرة واحدة فقط، بل يُثبت بشكل دائم. وبالتالي، يستمر تنفيذ الاستعلام حتى يتم إلغاء تثبيته صراحةً. ولأن معظم أنظمة إدارة تدفق البيانات تعتمد على البيانات، فإن الاستعلام المستمر يُنتج نتائج جديدة طالما تصل بيانات جديدة إلى النظام. يُشبه هذا المفهوم الأساسي معالجة الأحداث المعقدة، مما يجعل هاتين التقنيتين تتكاملان جزئيًا.
المبدأ الوظيفي
من أهم ميزات نظام إدارة قواعد البيانات (DSMS) قدرته على التعامل مع تدفقات بيانات لا نهائية ومتغيرة بسرعة، وذلك من خلال توفير معالجة مرنة، على الرغم من محدودية الموارد المتاحة، مثل الذاكرة الرئيسية. يوضح الجدول التالي مبادئ نظام إدارة قواعد البيانات ويقارنها بنظام إدارة قواعد البيانات التقليدي.
| نظام إدارة قواعد البيانات (DBMS) | نظام إدارة تدفق البيانات (DSMS) |
|---|---|
| البيانات الثابتة (العلاقات) | تدفقات البيانات المتقلبة |
| الوصول العشوائي | الوصول التسلسلي |
| استفسارات لمرة واحدة | استفسارات متواصلة |
| (نظريًا) سعة تخزين ثانوية غير محدودة | ذاكرة رئيسية محدودة |
| الوضع الحالي فقط هو المهم | مراعاة ترتيب المدخلات |
| معدل تحديث منخفض نسبياً | معدل تحديث مرتفع للغاية محتمل |
| متطلبات زمنية قليلة أو معدومة | متطلبات الوقت الفعلي |
| يفترض بيانات دقيقة | يفترض بيانات قديمة/غير دقيقة |
| معالجة الاستعلامات القابلة للتخطيط | وصول البيانات المتغيرة وخصائص البيانات |
نماذج المعالجة والبث
يُعدّ التعامل مع تدفقات البيانات غير المحدودة باستخدام ذاكرة محدودة ودون إمكانية الوصول العشوائي إلى البيانات أحد أكبر التحديات التي تواجه أنظمة إدارة البيانات. توجد طرق مختلفة للحدّ من كمية البيانات في كل عملية معالجة، ويمكن تقسيمها إلى فئتين: الأولى هي تقنيات الضغط التي تسعى إلى تلخيص البيانات، والثانية هي تقنيات تقسيم البيانات إلى أجزاء (محدودة).
ملخصات
تعتمد تقنيات الضغط على الاحتفاظ بملخص للبيانات فقط، وليس جميع نقاط البيانات (الخام) في تدفق البيانات. تتراوح الخوارزميات بين اختيار نقاط بيانات عشوائية (المعاينة) والتلخيص باستخدام المدرجات التكرارية أو الموجات أو الرسم التخطيطي. أحد الأمثلة البسيطة على الضغط هو الحساب المستمر للمتوسط. فبدلاً من حفظ كل نقطة بيانات على حدة، يحتوي الملخص على المجموع وعدد العناصر فقط. ويمكن حساب المتوسط بقسمة المجموع على العدد. مع ذلك، تجدر الإشارة إلى أن الملخصات لا تعكس البيانات بدقة. لذا، قد ينتج عن المعالجة القائمة على الملخصات نتائج غير دقيقة.
ويندوز
بدلاً من استخدام الملخصات لضغط خصائص تدفقات البيانات الكاملة، تركز تقنيات النوافذ على جزء منها فقط. يستند هذا النهج إلى فكرة أن البيانات الأحدث فقط هي ذات الصلة. لذلك، تقوم النافذة باستمرار بحذف جزء من تدفق البيانات، مثل آخر عشرة عناصر، وتأخذ هذه العناصر فقط في الاعتبار أثناء المعالجة. توجد أنواع مختلفة من هذه النوافذ، مثل النوافذ المنزلقة التي تشبه قوائم FIFO ، أو النوافذ المتداخلة التي تحذف أجزاءً منفصلة. علاوة على ذلك، يمكن تصنيف النوافذ إلى نوافذ قائمة على العناصر، مثلاً لمعالجة آخر عشرة عناصر، أو نوافذ قائمة على الوقت، مثلاً لمعالجة آخر عشر ثوانٍ من البيانات. كما توجد طرق مختلفة لتنفيذ النوافذ. على سبيل المثال، هناك طرق تستخدم الطوابع الزمنية أو الفترات الزمنية للنوافذ على مستوى النظام، أو نوافذ قائمة على المخزن المؤقت لكل خطوة معالجة. تُعد معالجة الاستعلامات باستخدام النوافذ المنزلقة مناسبة أيضاً للتنفيذ في المعالجات المتوازية من خلال استغلال التوازي بين النوافذ المختلفة و/أو داخل كل نافذة. [ 1 ]
معالجة الاستعلامات
نظراً لوجود العديد من النماذج الأولية، لا توجد بنية موحدة. مع ذلك، تعتمد معظم أنظمة إدارة قواعد البيانات على معالجة الاستعلامات في أنظمة إدارة قواعد البيانات باستخدام لغات وصفية للتعبير عن الاستعلامات، والتي تُترجم إلى خطة من العمليات. يمكن تحسين هذه الخطط وتنفيذها. تتكون معالجة الاستعلام عادةً من الخطوات التالية.
صياغة الاستعلامات المستمرة
تُصاغ الاستعلامات في الغالب باستخدام لغات وصفية مثل SQL في أنظمة إدارة قواعد البيانات. ونظرًا لعدم وجود لغات استعلام موحدة للتعبير عن الاستعلامات المستمرة، توجد العديد من اللغات والاختلافات. مع ذلك، يعتمد معظمها على SQL ، مثل لغة الاستعلام المستمر (CQL) و StreamSQL و ESP . كما توجد أيضًا أساليب بيانية حيث تُمثل كل خطوة معالجة بمربع، ويُعبر عن مسار المعالجة بأسهم بين المربعات.
تعتمد اللغة بشكل كبير على نموذج المعالجة. على سبيل المثال، إذا تم استخدام النوافذ للمعالجة، فيجب تحديد تعريف النافذة. في StreamSQL ، يبدو الاستعلام الذي يستخدم نافذة منزلقة لآخر 10 عناصر كما يلي:
حدد متوسط ( السعر ) من جدول examplestream [ حجم 10 ، تقدم 1 صفوف ] حيث القيمة > 100.0يقوم هذا التدفق بحساب متوسط قيمة "السعر" لآخر 10 صفوف، ولكنه لا يأخذ في الاعتبار سوى الصفوف التي تزيد أسعارها عن 100.0.
في الخطوة التالية، يُترجم الاستعلام التصريحي إلى خطة استعلام منطقية . خطة الاستعلام عبارة عن رسم بياني موجه، حيث تمثل العقد عوامل التشغيل، وتصف الحواف مسار المعالجة. يجسد كل عامل تشغيل في خطة الاستعلام دلالة عملية محددة، مثل التصفية أو التجميع. في أنظمة إدارة تدفقات البيانات العلائقية، تكون عوامل التشغيل مساوية أو مشابهة لعوامل التشغيل في الجبر العلائقي ، بحيث توجد عوامل تشغيل للاختيار والإسقاط والربط وعمليات المجموعات. يتيح مفهوم عوامل التشغيل هذا معالجة مرنة ومتعددة الاستخدامات لأنظمة إدارة تدفقات البيانات.
تحسين الاستعلامات
يمكن تحسين خطة الاستعلام المنطقية، وهو ما يعتمد بشكل كبير على نموذج التدفق. تتشابه المفاهيم الأساسية لتحسين الاستعلامات المستمرة مع تلك المستخدمة في أنظمة قواعد البيانات . في حال وجود تدفقات بيانات علائقية، وكانت خطة الاستعلام المنطقية مبنية على عوامل علائقية من الجبر العلائقي ، يمكن لمُحسِّن الاستعلام استخدام المكافئات الجبرية لتحسين الخطة. قد يكون ذلك، على سبيل المثال، لنقل عوامل الاختيار إلى مصادر البيانات، لأنها أقل استهلاكًا للموارد الحاسوبية من عوامل الربط.
علاوة على ذلك، توجد تقنيات تحسين قائمة على التكلفة، كما هو الحال في أنظمة إدارة قواعد البيانات، حيث يتم اختيار خطة الاستعلام الأقل تكلفة من بين خطط استعلام متكافئة. ومن الأمثلة على ذلك اختيار ترتيب عاملي الربط المتتاليين. في أنظمة إدارة قواعد البيانات، يُتخذ هذا القرار غالبًا بناءً على إحصائيات معينة لقواعد البيانات المعنية. ولكن، نظرًا لأن بيانات تدفق البيانات غير معروفة مسبقًا، فلا توجد مثل هذه الإحصائيات في أنظمة إدارة تدفق البيانات. مع ذلك، من الممكن مراقبة تدفق البيانات لفترة زمنية محددة للحصول على بعض الإحصائيات. وباستخدام هذه الإحصائيات، يمكن تحسين الاستعلام لاحقًا. لذا، وعلى عكس أنظمة إدارة قواعد البيانات، تسمح بعض أنظمة إدارة تدفق البيانات بتحسين الاستعلام حتى أثناء التشغيل. لذلك، تحتاج أنظمة إدارة تدفق البيانات إلى استراتيجيات لترحيل خطط الاستعلام لاستبدال خطة الاستعلام الحالية بخطة جديدة.
تحويل الاستعلامات
بما أن العامل المنطقي مسؤول فقط عن دلالات العملية ولا يتضمن أي خوارزميات، يجب تحويل خطة الاستعلام المنطقية إلى نظير قابل للتنفيذ، وتُسمى هذه الخطة بخطة الاستعلام الفيزيائية. يتيح التمييز بين خطة العامل المنطقية وخطة العامل الفيزيائية إمكانية تنفيذ العامل المنطقي نفسه بأكثر من طريقة. على سبيل المثال، عملية الربط (join) متطابقة منطقيًا، على الرغم من إمكانية تنفيذها بخوارزميات مختلفة مثل الربط الحلقي المتداخل أو الربط بالفرز والدمج . تجدر الإشارة إلى أن هذه الخوارزميات تعتمد بشكل كبير على نوع التدفق ونموذج المعالجة المستخدمين. أخيرًا، يصبح الاستعلام متاحًا كخطة استعلام فيزيائية.
تنفيذ الاستعلامات
بما أن خطة الاستعلام الفيزيائية تتكون من خوارزميات قابلة للتنفيذ، فيمكن تنفيذها مباشرةً. ولتحقيق ذلك، تُثبّت خطة الاستعلام الفيزيائية في النظام. يرتبط الجزء السفلي من الرسم البياني (لخطة الاستعلام) بمصادر البيانات الواردة، والتي قد تشمل أي شيء مثل الموصلات الخاصة بأجهزة الاستشعار. أما الجزء العلوي من الرسم البياني فيرتبط بمخارج البيانات الصادرة، والتي قد تكون، على سبيل المثال، واجهة عرض مرئية. ولأن معظم أنظمة إدارة البيانات تعتمد على البيانات، يُنفّذ الاستعلام عن طريق دفع عناصر البيانات الواردة من المصدر عبر خطة الاستعلام إلى المخرج. في كل مرة يمر فيها عنصر بيانات عبر مُشغّل، يُنفّذ المُشغّل عمليته الخاصة على عنصر البيانات، ثم يُرسل النتيجة إلى جميع المُشغّلات اللاحقة.
أمثلة
- أورورا ، [ 2 ] أنظمة ستريم بيس، مؤرشفة في 23 مارس 2009 على موقع Wayback Machine
- Hortonworks DataFlow
- IBM Streams
- محرك استعلام نياجارا [ 3 ]
- NiagaraST: نظام إدارة تدفق بيانات البحث في جامعة ولاية بورتلاند
- أوديسيوس ، إطار عمل مفتوح المصدر قائم على لغة جافا لأنظمة إدارة تدفق البيانات
- قاعدة بيانات خط الأنابيب
- تمت أرشفة هذه المقالة في 24 ديسمبر 2016 على موقع Wayback Machine ، ضمن فعاليات أعمال webMethods.
- كيو ستريم
- معالجة تدفق الأحداث في SAS
- SQLstream
- البث [ 4 ]
- ستريم غلوب
- ستريم إنسايت
- TelegraphCQ [ 5 ]
- معالج تدفق WSO2
انظر أيضاً
مراجع
- ↑ دي ماتيس، تيزيانو؛ مينكالي، غابرييل (25 مارس 2016). "أنماط متوازية للمُعاملات ذات الحالة القائمة على النوافذ في تدفقات البيانات: نهج هيكلي خوارزمي" . المجلة الدولية للبرمجة المتوازية . 45 (2): 382-401 . doi : 10.1007/s10766-016-0413-x . S2CID 255600 .
- ↑ عبادي وآخرون . أورورا: نظام إدارة تدفق البيانات . سيجمود 2003. CiteSeerX 10.1.1.67.8671 .
- ↑ جيانجون تشين؛ ديفيد ج. ديويت؛ فينغ تيان؛ يوان وانغ (2000). "NiagaraCQ: نظام استعلام مستمر قابل للتوسع لقواعد بيانات الإنترنت" (ملف PDF) . قسم علوم الحاسوب. جامعة ويسكونسن-ماديسون . SIGMOD . تاريخ الاسترجاع: 21 نوفمبر 2018 .
- ↑ أراسو، أ.، وآخرون. نظام إدارة تدفق البيانات في جامعة ستانفورد (STREAM). تقرير فني. 2004، مختبر ستانفورد للمعلومات.
- ↑ "تشاندراسيكاران، إس. وآخرون، "TelegraphCQ: معالجة تدفق البيانات المستمر لعالم غير مؤكد." CIDR 2003" (ملف PDF) . مؤرشف من الأصل (ملف PDF) في 7 فبراير 2014. تم الاطلاع عليه في 26 أغسطس 2011 .
روابط خارجية
- معالجة تدفقات المعلومات: من تدفق البيانات إلى معالجة الأحداث المعقدة - مقال استعراضي حول أنظمة تدفق البيانات ومعالجة الأحداث المعقدة
- معالجة البيانات المتدفقة باستخدام لغة SQL - مقدمة لإدارة البيانات المتدفقة باستخدام لغة SQL
- البيانات الضخمة
- إدارة البيانات
- هندسة البيانات
