فهم معالجة الدفعات والدفق
تلميح
راجع علامة التبويب النص والصور لمزيد من التفاصيل!
إن معالجة البيانات تمثل ببساطة تحويل البيانات الأولية إلى معلومات ذات مغزى من خلال عملية. هناك طريقتان عامتان لمعالجة البيانات:
- معالجة الدفعات، حيث يتم تجميع سجلات بيانات متعددة وتخزينها قبل معالجتها معًا في عملية واحدة.
- معالجة الدفق، حيث تتم مراقبة مصدر البيانات ومعالجته باستمرار في الوقت الفعلي مع حدوث أحداث بيانات جديدة.
فهم معالجة الدفعات
في المعالجة الدفعية، يتم جمع وتخزين عناصر البيانات الجديدة الجديدة، ويتم معالجة المجموعة كلها معا كدفعة. يمكن تحديد بالضبط وقت معالجة كل مجموعة بعدة طرق. على سبيل المثال، يمكنك معالجة البيانات استنادًا إلى فاصل زمني مجدول (على سبيل المثال: كل ساعة)، أو قد يتم تشغيلها عند وصول كمية معينة من البيانات، أو كنتيجة لحدث آخر.
على سبيل المثال، افترض أنك تريد تحليل حركة مرور الطريق من خلال حساب عدد السيارات على امتداد الطريق. يتطلب نهج معالجة الدفعات لهذا الأمر أن تقوم بجمع السيارات في موقف للسيارات، ثم عدها في عملية واحدة أثناء وجودها.
إذا كان الطريق مزدحمًا، مع وجود عدد كبير من السيارات التي تسير على طول فواصل زمنية متكررة، فقد يكون هذا النهج غير عملي؛ ولاحظ أنك لا تحصل على أي نتائج حتى كنت قد تقوم بإيقاف مجموعة من السيارات وإحصائها.
مثال العالم الحقيقي لمعالجة الدفعات هو الطريقة التي تتعامل بها شركات بطاقات الائتمان مع الفوترة. لا يتلقى العميل فاتورة عن كل عملية شراء منفصلة لبطاقة الائتمان، ولكن فاتورة شهرية واحدة لجميع مشتريات ذلك الشهر.
| الجانب | مزايا المعالجة الدفعية | عيوب المعالجة الدفعية |
|---|---|---|
| القدرة على المعالجة | يمكن معالجة كميات كبيرة من البيانات بكفاءة في وقت مناسب. | يجب تجهيز جميع بيانات الإدخال بالكامل قبل بدء المعالجة. |
| استخدام النظام | يمكن جدولة الوظائف خلال أوقات الخمول أو أوقات الذروة المنخفضة (مثل الليل)، مما يحسن استخدام الموارد. | غالبا ما يكون هناك تأخير بين إدخال البيانات واستلام النتائج. |
| الموثوقية والتعامل مع الأخطاء | — | يمكن أن توقف أخطاء البيانات أو الأعطال أو فشل البرامج عملية الدفعة بأكملها. |
| التحقق من صحة البيانات | — | يجب فحص بيانات الإدخال بعناية قبل إعادة تشغيل مهمة الدفعة. |
| تأثير الأخطاء الطفيفة | — | حتى أخطاء البيانات الصغيرة يمكن أن تمنع عمل الدفعة بالكامل بنجاح. |
فهم معالجة الدفق
في معالجة التدفق، يتم معالجة كل قطعة بيانات جديدة عند وصولها. على عكس المعالجة الدفعية، لا يوجد انتظار حتى فترة معالجة الدفعة التالية—حيث تتم معالجة البيانات كوحدات فردية في الوقت الحقيقي بدلا من معالجتها دفعة تلو الأخرى. تعد معالجة بيانات الدفق مفيدة في السيناريوهات التي يتم فيها إنشاء بيانات ديناميكية جديدة على أساس مستمر.
على سبيل المثال، قد يكون النهج الأفضل لمشكلة عد السيارات المفترض لدينا هو تطبيق نهج دفق، من خلال عد السيارات في الوقت الحقيقي أثناء مرورها:
في هذا النهج، لا تحتاج إلى الانتظار حتى تقف جميع السيارات لبدء معالجتها، ويمكنك تجميع البيانات على فترات زمنية؛ على سبيل المثال، عن طريق حساب عدد السيارات التي تمر كل دقيقة.
تتضمن الأمثلة الحقيقية لبيانات الدفق ما يلي:
- تقوم مؤسسة مالية بتتبع التغيرات في سوق الأسهم في الوقت الحقيقي، وتحسب القيمة المعرضة للخطر، وتعيد توازن المحافظ تلقائيًا على أساس تحركات أسعار الأسهم.
- تقوم شركة ألعاب عبر الإنترنت بجمع البيانات في الوقت الحقيقي حول تفاعلات اللاعبين ولعبة الألعاب، وتغذي البيانات في النظام الأساسي للألعاب الخاص بها. ثم تقوم بتحليل البيانات في الوقت الحقيقي، وتقدم الحوافز والخبرات الديناميكية لإشراك لاعبيها.
- يتتبع موقع ويب عقاري مجموعة فرعية من البيانات من الأجهزة المحمولة، ويقدم توصيات عقارية في الوقت الحقيقي لخصائص الزيارة استنادًا إلى موقعها الجغرافي.
معالجة التدفق مثالية للعمليات الحرجة في الوقت الذي يتطلب استجابة فورية في الوقت الحقيقي. على سبيل المثال: يحتاج النظام الذي يراقب مبنى للتحري عن الدخان والحرارة إلى إطلاق أجهزة الإنذار، وفتح الأبواب للسماح للسكان بالهروب على الفور في حالة نشوب حريق.
فهم الاختلافات بين البيانات الدُّفعة وبيانات الدفق
بصرف النظر عن الطريقة التي تقوم فيها معالجة الدفعات، ومعالجة دفق البيانات بمعالجة البيانات، فهناك اختلافات أخرى:
نطاق البيانات: يمكن لمعالجة الدفعات معالجة جميع البيانات الموجودة في مجموعة البيانات. عادةً ما يكون لدى معالجة دفق البيانات حق الوصول إلى أحدث البيانات التي تم تلقيها، أو ضمن إطار زمني متدحرج (آخر 30 ثانية، على سبيل المثال).
حجم البيانات: تعد معالجة الدفعات مناسبة للتعامل مع مجموعات البيانات الكبيرة بكفاءة. معالجة الدفق مخصصة للسجلات الفردية أو الدفعات الصغيرة التي تتكون من سجلات قليلة.
الأداء: يمثل زمن الانتقال الوقت المُتّخَذ لتلقّي البيانات ومعالجتها. عادة ما يكون زمن الانتقال لمعالجة الدُفعات بضع ساعات. وعادةً ما يحدث معالجة دفق البيانات مباشرةً، مع زمن الانتقال بترتيب الثواني، أو المللي ثانية.
التحليل: عادة ما تستخدم معالجة الدُفعات لإجراء تحليلات معقدة. ويتم استخدام معالجة دفق البيانات لدالات الاستجابة البسيطة، أو التجميعات، أو العمليات الحسابية؛ مثل: متوسطات التداول.
الدمج بين معالجة الدفعات والتدفق
تتضمن العديد من حلول التحليلات واسعة النطاق مزيجًا من معالجة الدفعات والجداول، مما يتيح تحليل البيانات السابقة والبيانات في الوقت الحقيقي. من الشائع أن تقوم حلول معالجة الدفق بالتقاط البيانات في الوقت الحقيقي، ومعالجتها عن طريق تصفيتها أو تجميعها، وتقديمها من خلال لوحات المعلومات والتصورات في الوقت الحقيقي (على سبيل المثال، إظهار إجمالي السيارات الجارية التي مرت على طول الطريق خلال الساعة الحالية)، مع استمرار النتائج التي تمت معالجتها في مخزن بيانات للتحليل التاريخي جنباً إلى جنب مع البيانات التي تمت معالجتها على دُفعات (على سبيل المثال، لتمكين تحليل أحجام المرور على مدار العام الماضي).
حتى عندما لا يكون التحليل أو التصور الفوري للبيانات مطلوبا، غالبا ما تستخدم تقنيات البث لالتقاط البيانات في الوقت الحقيقي وتخزينها في مخزن بيانات لمعالجة دفعات لاحقة (وهذا يعادل إعادة توجيه جميع السيارات التي تسير على الطريق إلى موقف السيارات قبل عدها).
يوضح الرسم البياني التالي بنية لامبدا—وهو نمط شائع لدمج معالجة الدفعات والمعالجة المتدفقة في حل تحليلات بيانات واسع النطاق.
- يتم التقاط أحداث البيانات من مصدر بيانات دفق في الوقت الحقيقي.
- يتم تناول البيانات من مصادر أخرى في مخزن البيانات (غالبًا مستودع بيانات) لمعالجة دفعة من الملفات.
- إذا لم تكن هناك حاجة للتحليلات الفورية، يتم كتابة بيانات التدفق الملتقطة إلى مخزن البيانات لمعالجة الدفعات التالية.
- عندما تكون التحليلات في الوقت الحقيقي مطلوبة، يتم استخدام تقنية معالجة الدفق لإعداد بيانات الدفق للتحليل أو التصور في الوقت الحقيقي؛ غالبًا عن طريق تصفية أو تجميع البيانات عبر الإطارات الزمنية.
- تتم معالجة البيانات غير المتدفقة بشكل دوري لتحضيرها للتحليل، ويتم الاحتفاظ بالنتائج في مخزن بيانات تحليلي (غالبا ما يشار إليه بمستودع البيانات) للتحليل التاريخي.
- ويمكن أيضًا أن تستمر نتائج معالجة الدفق في مخزن البيانات التحليلية لدعم التحليل التاريخي.
- وتستخدم أدوات التحليل والتصور لعرض واستكشاف البيانات السابقة والبيانات الحالية في الوقت الحقيقي.
إشعار
تشمل هياكل الحلول شائعة الاستخدام لمعالجة بيانات الدفعة والدفق المجمعة هياكل كل من lambda وdelta. تعد بنية كابا بديلا أبسط يلغي طبقة الدفعات المنفصلة تماما—حيث تعامل جميع البيانات كتدفق مستمر وإعادة تشغيلها عند الحاجة لإعادة معالجة تاريخية. المنصات الحديثة مثل Microsoft Fabric وApache Kafka تجعل حلول أسلوب الكابا أكثر عملية بشكل متزايد. تفاصيل هذه الهياكل تتجاوز نطاق هذا المقرر.