انتقل إلى المحتوى الرئيسي

ما المقصود ببيانات التدفق؟

ما المقصود ببيانات التدفق؟

البيانات المتدفقة هي البيانات التي تُبث بكميات كبيرة وبصورة مستمرة وتدريجية بهدف إجراء المعالجة بزمن استجابة منخفض. تمتلك المؤسسات الآلاف من مصادر البيانات التي عادةً ما ترسل في الوقت نفسه رسائل أو سجلات أو بيانات يتراوح حجمها من بضع بايتات إلى عدة ميجابايت (MB). تتضمن بيانات التدفق بيانات الموقع الجغرافي والحدث والمستشعرات التي تستخدمها الشركات لإجراء التحليلات في الوقت الفعلي والاطلاع على تفاصيل جوانب عدة من أعمالها. على سبيل المثال، يمكن للشركات تتبع التغييرات في مدى توافق الآراء عامةً بشأن علاماتها التجارية ومنتجاتها من خلال إجراء التحليل المستمر لتدفق النقرات ومشاركات العملاء من تدفقات وسائل التواصل الاجتماعي ثم الاستجابة على الفور حسب الحاجة.

ما خصائص البيانات المتدفقة؟

يتسم تدفق البيانات بالخصائص المحددة التالية التي تميّزه.

أهمية زمنية

تحتوي العناصر الفردية في تدفق البيانات على طوابع زمنية. قد يكون تدفق البيانات نفسه حساسًا للوقت، فتتقلص الأهمية بعد فترة زمنية محددة. على سبيل المثال، يقدم تطبيقك توصيات بشأن المطاعم بناءً على الموقع الجغرافي الحالي لمستخدمه. عليك التصرف بناءً على بيانات تحديد الموقع الجغرافي للمستخدم في الوقت الفعلي وإلّا تفقد البيانات أهميتها.

يتدفق باستمرار

تدفق البيانات ليس له بداية أو نهاية. يجمع البيانات بشكل مستمر طالما كان ذلك مطلوبًا. على سبيل المثال، تتراكم سجلات نشاط الخادم طالما يعمل الخادم.

فريد

يعد النقل المتكرر لتدفق البيانات أمرًا صعبًا بسبب الحساسية للوقت. ومن ثم، فإن معالجة البيانات الدقيقة في الوقت الفعلي أمر بالغ الأهمية. للأسف، فإن أحكام إعادة الإرسال محدودة في معظم مصادر البيانات المتدفقة.

غير متجانس

قد تقوم بعض المصادر بتدفق البيانات بتنسيقات متعددة موجودة في تنسيقات منظمة، مثل JSON وAvro والقيم المفصولة بفواصل (CSV)، مع أنواع البيانات التي تتضمن سلاسل وأرقام وتواريخ وأنواع ثنائية. يجب أن تتمتع أنظمة معالجة التدفق بالقدرات اللازمة للتعامل مع مثل هذه الاختلافات في البيانات.

غير مثالي

قد تؤدي الأخطاء المؤقتة في المصدر إلى إتلاف عناصر أو فقدانها في البيانات المتدفقة. قد يكون من الصعب ضمان اتساق البيانات بسبب الطبيعة المستمرة للتدفق. عادةً ما تتضمن أنظمة معالجة التدفق والتحليل منطقًا للتحقق من صحة البيانات لتقليل هذه الأخطاء أو الحد منها.

ما أهمية البيانات المتدفقة؟

تسجِّل أنظمة معالجة البيانات التقليدية البيانات في مستودع بيانات مركزي وتعالجها في مجموعات أو دفعات. تم إنشاء هذه الأنظمة لاستيعاب البيانات وهيكلتها قبل إجراء التحليلات. ومع ذلك، في السنوات الأخيرة، تغيرت طبيعة بيانات المؤسسة وأنظمة معالجة البيانات الأساسية بشكل كبير.

حجم البيانات غير المحدود

يمكن أن تكون أحجام البيانات المُنشأة من مصادر التدفق كبيرة جدًا، ما يجعل من الصعب على التحليلات في الوقت الفعلي تنظيم سلامة البيانات المتدفقة (التحقق من صحتها) أو بنيتها (التطور) أو سرعتها (معدل النقل ووقت الاستجابة).

أنظمة معالجة البيانات المتقدمة

في الوقت نفسه، أضافت البنية الأساسية السحابية المرونة في حجم موارد الحوسبة وفي استخدامها. أنت تستخدم بالضبط ما تحتاجه وتدفع فقط مقابل ما تستخدمه. لديك خيارات الفلترة أو التجميع في الوقت الفعلي قبل تخزين البيانات المتدفقة وبعد ذلك. تستخدم بنية بيانات البث تقنيات السحابة لاستهلاك البيانات المتدفقة وإثرائها وتحليلها وتخزينها بشكل دائم حسب الحاجة.

ما حالات استخدام البيانات المتدفقة؟

يعد نظام معالجة التدفق مفيدًا في معظم السيناريوهات حيث يتم إنشاء بيانات جديدة وديناميكية باستمرار. يسري ذلك على معظم قطاعات الصناعة وحالات استخدام البيانات الكبيرة.

تبدأ الشركات عمومًا بالتطبيقات البسيطة مثل جمع سجلات النظام، والمعالجة البدائية مثل عمليات الحسابات الدورية للقيمة الأصغر/الأكبر. ثم تتطور هذه التطبيقات لتصبح قادرة على إجراء معالجة أكثر تعقيدًا في الوقت الفعلي تقريبًا.

في ما يلي بعض الأمثلة على البيانات المتدفقة.

تحليل البيانات

تعالج التطبيقات تدفقات البيانات لإنتاج تقارير وتنفيذ إجراءات كاستجابة، مثل إصدار أصوات إنذار عندما تتجاوز الإجراءات الرئيسية حدودًا معينة. تستخلص تطبيقات معالجة التدفق الأكثر تعقيدًا رؤى أعمق من خلال تطبيق خوارزميات تعلّم الآلة على بيانات نشاط العملاء والعمل.

تطبيقات إنترنت الأشياء

تعد أجهزة إنترنت الأشياء (IoT) حالة استخدام أخرى للبيانات المتدفقة. ترسل المستشعرات في المركبات والمعدات الصناعية والأجهزة الزراعية البيانات إلى تطبيق تدفق. يراقب التطبيق الأداء ويكتشف أي عيوب محتملة مسبقًا ويضع طلب قطعة الغيار تلقائيًا، ما يمنع حدوث وقت تعطل المعدات.

تحليل مالي

تستخدم المؤسسات المالية بيانات التدفق لتتبع التغييرات في الوقت الفعلي في سوق الأسهم، ويحسب القيمة المعرضة للخطر ويعيد تلقائيًا موازنة الحقائب الاستثمارية بناء على التقلبات في أسعار السوق. هناك حالة استخدام مالي أخرى وهي الكشف عن عمليات الاحتيال في معاملات بطاقات الائتمان باستخدام الاستدلال الفوري على بيانات المعاملات المتدفقة.

توصيات في الوقت الحقيقي

تتعقب تطبيقات العقارات بيانات تحديد الموقع الجغرافي من أجهزة المستهلكين المحمولة، وتقدم توصيات في الوقت الفعلي للعقارات المراد زيارتها. وبالمثل، يمكن أن تدمج تطبيقات الإعلانات والأطعمة والبيع بالتجزئة والمستهلكين توصيات في الوقت الفعلي لإعطاء قيمة أكبر للعملاء.

ضمانات الخدمة

يمكنك تنفيذ معالجة تدفق البيانات لتتبع مستويات الخدمة والحفاظ عليها في التطبيقات والمعدات. على سبيل المثال، يجب أن تحافظ شركة الطاقة الشمسية على معدل إنتاجية الطاقة لعملائها وإلّا تدفع غرامات. فتنفّذ تطبيق البيانات المتدفقة يعمل على مراقبة جميع اللوحات في الميدان وجدولة الخدمة في الوقت الفعلي. وبالتالي، يمكن أن تقلل فترات الإنتاجية المنخفضة لكل لوحة والغرامات المترتبة عليها.

الوسائط والألعاب

يحرص ناشرو الوسائط على تدفق مليارات سجلات النقر من مواقعهم الإلكترونية أو تطبيقاتهم، ويجمعون البيانات ويضيفون المعلومات الديموغرافية للمستخدم، ويحسّنون وضع المحتوى. يساعد هذا الناشرين على تقديم تجربة أفضل للجماهير وأكثر صلةً بهم. وبالمثل، تستخدم شركات الألعاب على الإنترنت معالجة تدفق الأحداث لتحليل التفاعلات بين اللاعبين والألعاب، وتقديم تجارب ديناميكية للتفاعل مع اللاعبين.

التحكم في المخاطر

يسجّل التدفق المباشر ومنصات التواصل الاجتماعي بيانات سلوك المستخدم في الوقت الفعلي للتحكم في المخاطر على النشاط المالي لدى المستخدمين، مثل إعادة الشحن واسترداد الأموال والمكافآت. وهم يشاهدون لوحات المعلومات في الوقت الفعلي لتعديل إستراتيجيات المخاطر بمرونة.

ما الفرق بين البيانات الدفعية والبيانات المتدفقة؟

المعالجة المجمعة هي الطريقة التي تستخدمها أجهزة الكمبيوتر لإكمال مهام البيانات المتكررة ذات الحجم الكبير بشكل دوري. يمكنك استخدامها في حوسبة استعلامات عشوائية عبر مجموعات مختلفة من البيانات. وهي تستخلص عادةَ نتائج الحوسبة من كل البيانات التي تحتوي عليها وتتيح إمكانية إجراء تحليل عميق لمجموعات البيانات الكبيرة. النظم القائمة على MapReduce، مثل Amazon EMR، عبارة عن أمثلة لنظم أساسية تدعم المهام المجمعة.

في المقابل، تتطلب معالجة البث استيعاب تسلسل البيانات وتحديث المقاييس والتقارير والإحصاءات الموجزة بشكل تدريجي استجابةً لكل سجل بيانات قادم. وهي أكثر ملاءمة لوظائف التحليل والاستجابة في الوقت الفعلي.

  المعالجة الدفعية

المعالجة المتدفقة

نطاق البيانات

الاستعلامات أو المعالجة عبر كل البيانات في مجموعة البيانات أو أغلبها.

الاستعلامات أو المعالجة عبر البيانات في إطار زمني متغير أو في سجل البيانات الأحدث فقط.

حجم البيانات


الدفعات الكبيرة من البيانات.

السجلات الفردية أو الدفعات الصغيرة التي تتألف من سجلات قليلة.

الأداء

  تمتد أزمنة الاستجابة من دقائق إلى ساعات.

تتطلب زمن استجابة في حدود وحدات من الثانية أو المللي ثانية.

التحليل

تحليلات معقدة. وظائف استجابة بسيطة وعمليات تجميع وقياسات متغيرة.

تنشئ مؤسسات كثيرة نموذجًا هجينًا عن طريق الجمع بين الأسلوبين للحفاظ على الأداء في الوقت الفعلي وعلى دفعات. على سبيل المثال، يمكنك أولاً معالجة البيانات في منصة بيانات متدفقة مثل Amazon Kinesis لاستخراج رؤى في الوقت الفعلي. بعد ذلك، يمكنك الاحتفاظ بها في متجر مثل خدمة التخزين البسيطة من Amazon (Amazon S3). هناك، يمكن تحويلها وتحميلها للعديد من حالات استخدام معالجة الدُفعات.

يسمح Amazon Redshift Streaming Instraimation للمستخدمين باستيعاب البيانات مباشرة من تدفقات بيانات Amazon Kinesis دون الحاجة إلى عرضها في Amazon S3. يمكن للخدمة أيضًا استيعاب البيانات من Amazon Managed Streaming for Apache Kafka (‏Amazon MSK) إلى Amazon Redshift.

كيف يمكنك معالجة البيانات المتدفقة؟

تتضمن بنية البيانات المتدفقة نوعين رئيسيين من المكونات.

منتِجو التدفق

منتِجو التدفق هم مكونات برمجية في التطبيقات وأنظمة إنترنت الأشياء التي تجمع البيانات. وتنقل هذه المكونات السجلات إلى معالج التدفق التي تحتوي على اسم تدفق وقيمة بيانات ورقم تسلسل. يقوم المعالج إما بتخزين سجلات البيانات أو تجميعها مؤقتًا حسب اسم التدفق. يستخدم رقم التسلسل لتتبع الموضع الفريد لكل سجل، ومعالجة البيانات حسب الترتيب الزمني.

مستهلكو التدفق

مستهلكو التدفق هم مكونات برمجية تعالج تدفقات البيانات المخزنة مؤقتًا في المعالج وتحللها. يتمتع كل مستهلك بقدرات تحليلية، مثل الارتباطات أو التجميعات أو التصفية أو أخذ العينات أو تعلّم الآلة. يمكن أن يكون لكل تدفق مستهلكين متعددين، ويمكن لكل مستهلك معالجة تدفقات عديدة. يمكن للمستهلكين أيضًا إرسال البيانات المتغيرة إلى المعالج لإنشاء تدفقات جديدة لغيرهم من المستهلكين.

تنفيذ البنية

لتنفيذ هندسة البيانات المتدفقة، فإنك تحتاج إلى طبقات تخزين ومعالجة. يجب أن تدعم طبقة التخزين ترتيب السجلات والاتساق القوي لتمكين عمليات القراءة والكتابة السريعة وغير المكلفة والقابلة لإعادة التشغيل لتدفقات البيانات الكبيرة. طبقة المعالجة مسؤولة عن استخدام البيانات الواردة من طبقة التخزين، وتشغيل عمليات الحوسبة على البيانات، ثم إبلاغ طبقة التخزين بأن تحذف البيانات التي لم تعد مطلوبة.

ما الصعوبات التي تواجهها في العمل باستخدام البيانات المتدفقة؟

تتطلب بنية البيانات المتدفقة اعتبارات خاصة بسبب طبيعة البيانات وحجمها.

التوافر

تتطلب تطبيقات تدفق البيانات الاتساق، وزمن انتقال منخفض، وتوافرًا عاليًا. يأخذ المستهلكون باستمرار بيانات جديدة من التدفق لمعالجتها. قد يؤدي التأخير من جانب المنتج إلى نسخ النظام احتياطيًا والتسبب في حدوث أخطاء.

قابلية التوسع

يمكن أن تزداد تدفقات البيانات الخام بسرعة وبشكل غير متوقع. على سبيل المثال، تزداد منشورات وسائل التواصل الاجتماعي خلال حدث رياضي كبير. لذلك، يجب أن يعطي النظام الأولوية لتسلسل البيانات المناسب، والتوافر، والاتساق، حتى أثناء ذروة الأعباء.

قوة التحمل

بسبب حساسية الوقت للبيانات، يجب أن يكون نظام معالجة التدفق متسامحًا مع الأخطاء. وإلّا ستفقد البيانات إلى الأبد في حالة انقطاع التيار أو التعطّل.

كيف يمكن لـ AWS دعم متطلبات بيانات البث الخاصة بك؟

توفر AWS خيارات عديدة للعمل باستخدام البيانات المتدفقة. 

Amazon Kinesis

Kinesis عبارة عن منصة لبث البيانات على AWS. إنه يوفر خدمات فعّالة تجعل من السهل تحميل البيانات المتدفقة وتحليلها، ويسمح لك أيضًا بإنشاء تطبيقات بيانات متدفقة مخصصة لتلبية الاحتياجات المتخصصة.

يوفر Kinesis ثلاث خدمات: أمازون داتا فايرهوس، وأمازون كينيسيس داتا ستريم، والبث المُدار من أمازون لأباتشي كافكا (Amazon MSK).

Amazon Data Firehose

يمكن لـ Amazon Data Firehose التقاط البيانات المتدفقة وتحميلها تلقائيًا إلى خدمة التخزين البسيط من Amazon (Amazon S3) وAmazon Redshift. يتيح لك ذلك إجراء تحليلات في الوقت الفعلي باستخدام لوحات المعلومات وأدوات المعلومات التجارية الحالية التي تستخدمها بالفعل اليوم.

Kinesis Data Streams

يمكن لـ Kinesis Data Streams التقاط وتخزين تيرابايت (TB) من البيانات في الساعة باستمرار من مئات الآلاف من المصادر. وهي تدعم اختيارك من إطار عمل معالجة التدفق، بما في ذلك Amazon Kinesis Client Library (‏KCL) وApache Storm وApache Spark Streaming.

Amazon MSK

Amazon MSK هي خدمة مُدارة بالكامل تسهل عليك إنشاء التطبيقات وتشغيلها باستخدام Apache Kafka لمعالجة البيانات المتدفقة. Apache Kafka هي منصة مفتوحة المصادر لإنشاء تطبيقات ومسارات تدفق البيانات في الوقت الفعلي. 

Amazon Redshift

يتيح Amazon Redshift Streaming Instation للمستخدمين استيعاب البيانات المتدفقة في مستودع البيانات الخاص بهم لإجراء تحليلات في الوقت الفعلي من تدفقات بيانات Kinesis المتعددة. يمكنك إجراء تحليلات غنية باستخدام لغة SQL المألوفة، وإنشاء مسارات الاستخراج والانتقال والتحميل (ELT) وإدارتها بسهولة. يتيح لك أيضًا معالجة كميات كبيرة من البيانات المتدفقة بزمن انتقال منخفض وإنتاجية عالية لاستخراج رؤى في ثوانٍ.

حلول التدفق الأخرى على Amazon EC2

يمكنك تثبيت منصات بيانات البث التي تختارها على Amazon Elastic Compute Cloud (Amazon EC2) و Amazon EMR وإنشاء طبقات تخزين ومعالجة البث المخصصة. نتيجة لذلك، يمكنك تجنّب تعقيد توفير البنية الأساسية، بالإضافة إلى الوصول إلى العديد من أطر عمل تخزين ومعالجة التدفق. تتضمن خيارات طبقة تخزين البيانات Amazon MSK وApache Flume. تتضمن خيارات طبقة معالجة التدفق أباتشي سبارك ستريم وأباتشي ستورم.

ابدأ ببث البيانات على AWS من خلال إنشاء حساب AWS مجاني اليوم!