دليل اختبار البيانات الضخمة: ما هو، والاستراتيجية، وكيفية الاختبار

⚡ ملخص ذكي

يتحقق اختبار البيانات الضخمة من أن تطبيق البيانات الضخمة يعالج تيرابايت من البيانات بشكل صحيح وسريع وآمن، ويجمع بين التحقق من صحة مرحلة البيانات، والتحقق من صحة MapReduce والتحقق من صحة الإخراج مع فحوصات البنية والأداء عبر مجموعة Hadoop موزعة.

  • 🔘 التركيز الأساسي: يتم التحقق من صحة معالجة البيانات عبر المجموعة، وليس الميزات الفردية للمنتج.
  • ☑️ ثلاث مراحل: تشكل عملية تجهيز البيانات، و MapReduce، والتحقق من صحة المخرجات كل دورة اختبار Hadoop.
  • جودة البيانات أولاً: يتم التحقق من المطابقة والدقة والتكرار والاتساق والصحة والاكتمال قبل اختبار التطبيق.
  • 🧪 Archiأهمية البنية: تؤكد خدمات الأداء والتعافي من الأعطال أن المجموعة تنجو من فشل العقدة دون فقدان الإنتاجية.
  • 🛠️ معايير الضبط: يتم قياس تخطيط التخزين، وسجلات الالتزام، والتزامن، والتخزين المؤقت، والمهلات، وإعدادات JVM.
  • ⚠️ التحديات المعروفة: تؤدي فجوات مهارات الأتمتة، وزمن استجابة الأجهزة الافتراضية، ومجموعات البيانات الضخمة إلى تعقيد اختبار البيانات الضخمة.

برنامج تعليمي لاختبار البيانات الضخمة يغطي الاستراتيجية ومراحل اختبار هادوب واختبار الأداء

ما هو اختبار البيانات الضخمة؟

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

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

ما هي استراتيجية اختبار البيانات الضخمة؟

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

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

  • تجهيز الدفعات: تتم معالجة البيانات المخزنة وفقًا لجدول زمني، لذا تستهدف الاختبارات إكمال المهمة ودقتها.
  • المعالجة في الوقت الحقيقي: تتم معالجة السجلات عند وصولها، لذا تستهدف الاختبارات زمن الاستجابة وفقدان البيانات.
  • المعالجة التفاعلية: يقوم المحللون بالاستعلام مباشرة، لذا تستهدف الاختبارات وقت استجابة الاستعلام المخصص.

يلخص الرسم البياني أدناه الاستراتيجية.

مخطط استراتيجية اختبار البيانات الضخمة يوضح أنواع معالجة البيانات التي تم التحقق منها بواسطة مهندسي ضمان الجودة

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

كيفية اختبار تطبيقات هادوب

يوضح الشكل التالي نظرة عامة عالية المستوى على مراحل اختبار تطبيقات البيانات الضخمة.

مراحل اختبار تطبيقات البيانات الضخمة على مجموعة هادوب

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

الخطوة 1: التحقق من صحة البيانات

تُعرف الخطوة الأولى في هذا البرنامج التعليمي لاختبار البيانات الضخمة بمرحلة ما قبل Hadoop، وهي تتضمن التحقق من صحة العملية.

  • ينبغي التحقق من صحة البيانات الواردة من مصادر متنوعة مثل قواعد البيانات العلائقية، والمدونات، ووسائل التواصل الاجتماعي، وما إلى ذلك، للتأكد من إدخال البيانات الصحيحة إلى النظام.
  • مقارنة بيانات المصدر مع البيانات المدفوعة في نظام Hadoop للتأكد من مطابقتها
  • تأكد من صحة البيانات.tracتم تحميله في المكان الصحيح HDFS موقع

أدوات مثل Talend ويمكن استخدام Datameer للتحقق من صحة البيانات في مرحلة التجهيز.

الخطوة 2: التحقق من صحة "MapReduce".

الخطوة الثانية هي التحقق من صحة "MapReduce". في هذه المرحلة، يتحقق مختبر البيانات الضخمة من صحة منطق العمل على كل عقدة، ثم يتحقق منه بعد تشغيله على عدة عقد، لضمان ما يلي:

  • تعمل عملية MapReduce بشكل صحيح
  • يتم تطبيق قواعد تجميع أو فصل البيانات على البيانات
  • يتم إنشاء أزواج القيمة الرئيسية
  • التحقق من صحة البيانات بعد عملية MapReduce

الخطوة 3: مرحلة التحقق من صحة المخرجات

المرحلة الأخيرة أو الثالثة من اختبار Hadoop هي عملية التحقق من صحة المخرجات. يتم إنشاء ملفات بيانات المخرجات وتكون جاهزة للنقل إلى EDW (مستودع بيانات المؤسسة) أو أي نظام آخر بناءً على المتطلبات.

تشمل الأنشطة في المرحلة الثالثة ما يلي:

  • للتحقق من تطبيق قواعد التحويل بشكل صحيح
  • للتحقق من سلامة البيانات وتحميل البيانات بنجاح إلى النظام المستهدف
  • للتحقق من عدم وجود تلف في البيانات من خلال مقارنة البيانات المستهدفة ببيانات نظام ملفات HDFS

Archiاختبار التكتوري

يتجه الاهتمام الآن من البيانات إلى المجموعة التي تحملها.

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

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

اختبار أداء

يغطي اختبار الأداء للبيانات الضخمة ثلاثة مجالات رئيسية.

  • استيعاب البيانات ومعدل نقلها: في هذه المرحلة، يتحقق مختبر البيانات الضخمة من سرعة النظام في استهلاك البيانات من مصادر بيانات متنوعة. يتضمن الاختبار تحديد عدد الرسائل التي يمكن لقائمة الانتظار معالجتها خلال فترة زمنية محددة. كما يشمل سرعة إدخال البيانات في مخزن البيانات الأساسي، على سبيل المثال معدل الإدخال في MongoDB و Cassandra قاعدة البيانات.
  • معالجة البيانات: يتضمن ذلك التحقق من سرعة تنفيذ الاستعلامات أو مهام MapReduce. كما يشمل اختبار معالجة البيانات بشكل منفصل عند ملء مخزن البيانات الأساسي بمجموعات البيانات. على سبيل المثال، تشغيل مهام MapReduce على نظام ملفات Hadoop الموزع (HDFS).
  • أداء المكونات الفرعية: تتكون هذه الأنظمة من مكونات متعددة، ومن الضروري اختبار كل مكون منها على حدة. على سبيل المثال، سرعة فهرسة الرسالة واستهلاكها، ووظائف MapReduce، وأداء الاستعلام، والبحث، وما إلى ذلك.

نهج اختبار الأداء

يتضمن اختبار الأداء لتطبيق البيانات الضخمة اختبار كميات هائلة من البيانات المنظمة وغير المنظمة، ويتطلب ذلك اتباع نهج اختبار محدد لاختبار هذه البيانات الضخمة.

يوضح سير العمل أدناه التسلسل الذي يتبعه اختبار الأداء.

سير عمل منهجية اختبار الأداء بدءًا من إعداد مجموعة البيانات الضخمة وصولًا إلى التكوين الأمثل

يتم تنفيذ اختبار الأداء بهذا الترتيب.

  1. تبدأ العملية بإعداد مجموعة البيانات الضخمة التي سيتم اختبار أدائها.
  2. تحديد وتصميم أعباء العمل المقابلة
  3. إعداد العملاء الأفراد (يتم إنشاء نصوص برمجية مخصصة)
  4. قم بتنفيذ الاختبار وتحليل النتائج (إذا لم يتم تحقيق الأهداف، فقم بضبط المكون وأعد التنفيذ).
  5. التكوين الأمثل

معلمات لاختبار الأداء

تتضمن المعايير المختلفة التي يجب التحقق منها لاختبار الأداء ما يلي:

  • مخزن البيانات: كيفية تخزين البيانات في العقد المختلفة
  • سجلات الالتزام: حجم سجل الالتزامات المسموح به
  • التزامن: كم عدد الخيوط التي يمكنها تنفيذ عمليات الكتابة والقراءة؟
  • التخزين المؤقت: اضبط إعدادات ذاكرة التخزين المؤقت "ذاكرة التخزين المؤقت للصفوف" و"ذاكرة التخزين المؤقت للمفاتيح".
  • مهلة زمنية: قيم مهلة الاتصال، مهلة الاستعلام، إلخ.
  • معلمات JVM: حجم الذاكرة المخصصة، وخوارزميات جمع البيانات المهملة، وما إلى ذلك.
  • أداء MapReduce: فرز، دمج، إلخ.
  • قائمة انتظار الرسائل: معدل الرسائل، حجمها، إلخ.

احتياجات بيئة الاختبار

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

  • ينبغي أن يتوفر فيه مساحة كافية لتخزين ومعالجة كمية كبيرة من البيانات
  • يجب أن يكون لديه مجموعة من العقد والبيانات الموزعة
  • يجب أن يكون لديه الحد الأدنى من استخدام وحدة المعالجة المركزية والذاكرة للحفاظ على الأداء العالي لاختبار أداء البيانات الضخمة

اختبار البيانات الضخمة مقابل اختبار قواعد البيانات التقليدية

يوضح الجدول أدناه الفرق بين التخصصين خاصية بخاصية.

عقارات اختبار قاعدة البيانات التقليدية اختبار البيانات الضخمة
البيانات يعمل برنامج الاختبار مع البيانات المنظمة يعمل المُختبر مع كل من البيانات المنظمة وغير المنظمة
نهج الاختبار نهج الاختبار محدد جيدًا وتم اختباره عبر الزمن يتطلب نهج الاختبار جهودًا مركزة في مجال البحث والتطوير
استراتيجية الاختبار يملك المختبر خيار استخدام استراتيجية "أخذ العينات" التي تتم يدويًا أو استراتيجية "التحقق الشامل" بواسطة أداة أتمتة تُمثل استراتيجية "أخذ العينات" في البيانات الضخمة تحديًا
البنية التحتية لا يتطلب بيئة اختبار خاصة لأن حجم الملف محدود يتطلب بيئة اختبار خاصة بسبب حجم البيانات والملفات الكبيرة (HDFS)
أدوات التحقق يستخدم برنامج الاختبار إما وحدات ماكرو قائمة على برنامج Excel أو أدوات أتمتة قائمة على واجهة المستخدم لا توجد أدوات محددة؛ النطاق واسع للغاية، بدءًا من أدوات البرمجة مثل MapReduce وحتى HiveQL
أدوات الاختبار يمكن استخدام أدوات الاختبار بمعرفة تشغيلية أساسية وتدريب أقل يتطلب تشغيل أداة الاختبار مجموعة محددة من المهارات والتدريب. كما أن هذه الأدوات لا تزال في مراحلها الأولى، وقد تُضاف إليها ميزات جديدة مع مرور الوقت.

الأدوات المستخدمة في سيناريوهات البيانات الضخمة

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

البيانات الكبيرة Cluster أدوات البيانات الضخمة
نوسقل: CouchDB، قواعد بيانات MongoDB, Cassandra، ريديس، ZooKeeper، HBase
تقليل الخريطة: هادوب، خلية النحل، بيج، كاسكيدينج، أوزي، كافكا، إس 4، ماب آر، وهد
التخزين: S3، HDFS (نظام الملفات الموزعة Hadoop)
خوادم: المرن، Heroku, Google محرك التطبيقات، EC2
معالجة: ر، ياهو! الأنابيب، الترك الميكانيكي، الأوراق الكبيرة، الداتامير

التحديات في اختبار البيانات الضخمة

تتكرر ثلاث عقبات عملية في كل مشروع من مشاريع البيانات الضخمة تقريباً.

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

تحديات اختبار الأداء

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

الأسئلة الشائعة

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

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

يعمل برنامج Copilot والمساعدون الآليون المماثلون على تسريع كتابة التعليمات البرمجية النمطية: استعلامات مقارنة HiveQL، PySpark التحقق من صحة البيانات وكتابة نصوص التوفيق. قم بتشغيل الكود المُولّد على مجموعة بيانات سليمة معروفة أولاً، لأن الاستعلام المعقول قد يتحقق من صحة الأعمدة الخاطئة.

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

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

يُجري اختبار ETL التحقق من صحة عمليات التحميل المنظمة إلى مستودع البيانات باستخدام أدوات محددة وأحجام بيانات متوقعة. أما اختبار البيانات الضخمة فيغطي البيانات المنظمة وغير المنظمة على مجموعة موزعة، حيث تتم كتابة التحقق باستخدام MapReduce أو HiveQL.

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

لغة SQL و HiveQL، لغة واحدة لـ MapReduce أو Spark الوظائف، ومعرفة عملية بنظام ملفات Hadoop الموزع (HDFS) وقاعدة بيانات NoSQL، بالإضافة إلى كتابة البرامج النصية لبيئات الاختبار. يُعدّ التفكير التحليلي أكثر أهمية، لأنه لا توجد أداة واحدة شاملة ومتكاملة.

تلخيص هذه التدوينة بـ: