البرنامج التعليمي لاختبار البيانات الضخمة: ما هي الإستراتيجية وكيفية اختبار Hadoop

اختبار البيانات الضخمة

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

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

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

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

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

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

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

كيفية اختبار تطبيقات Hadoop

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

اختبار تطبيقات Hadoop

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

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

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

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

أدوات مثل Talend, داتامير, يمكن استخدامها للتحقق من صحة البيانات المرحلية

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

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

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

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

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

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

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

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

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

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

اختبار أداء

يتضمن اختبار الأداء للبيانات الضخمة إجراءين رئيسيين

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    البيانات الكبيرة Cluster أدوات البيانات الضخمة
    نوسقل: CouchDB، قواعد بيانات MongoDB, Cassandra، ريديس، ZooKeeper، HBase
    تقليل الخريطة: Hadoop، خلية النحل، خنزير، المتتالية، أوزي، كافكا، S4، مابر، فلوم
    التخزين: S3، HDFS (نظام الملفات الموزعة Hadoop)
    خوادم: المرن، Heroku، مرن، محرك تطبيقات جوجل، EC2
    اﻟﻤﻌﺎﻟﺠﺔ ر، ياهو! الأنابيب، الترك الميكانيكي، الأوراق الكبيرة، الداتامير

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

    • أتمتة

      اختبار الأتمتة فالبيانات الضخمة تتطلب شخصًا يتمتع بالخبرة الفنية. كما أن الأدوات الآلية غير مجهزة للتعامل مع المشكلات غير المتوقعة التي تنشأ أثناء الاختبار

    • الافتراضية

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

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

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

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

    الملخص

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