دليل اختبار البيانات الضخمة: ما هو، والاستراتيجية، وكيفية الاختبار
⚡ ملخص ذكي
يتحقق اختبار البيانات الضخمة من أن تطبيق البيانات الضخمة يعالج تيرابايت من البيانات بشكل صحيح وسريع وآمن، ويجمع بين التحقق من صحة مرحلة البيانات، والتحقق من صحة MapReduce والتحقق من صحة الإخراج مع فحوصات البنية والأداء عبر مجموعة Hadoop موزعة.
ما هو اختبار البيانات الضخمة؟
اختبار البيانات الضخمة هو عملية اختبار لتطبيقات البيانات الضخمة لضمان عمل جميع وظائفها كما هو متوقع. يهدف اختبار البيانات الضخمة إلى ضمان تشغيل نظام البيانات الضخمة بسلاسة ودون أخطاء، مع الحفاظ على الأداء والأمان.
البيانات الضخمة هي مجموعة من البيانات الكبيرة التي لا يمكن معالجتها باستخدام تقنيات الحوسبة التقليدية. يتطلب اختبار هذه البيانات استخدام أدوات وتقنيات وأطر عمل متنوعة. ترتبط البيانات الضخمة بإنشاء البيانات وتخزينها واسترجاعها وتحليلها، وهي بيانات ضخمة من حيث الحجم والتنوع والسرعة. يمكنك معرفة المزيد عن البيانات الكبيرة, 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، وأداء الاستعلام، والبحث، وما إلى ذلك.
نهج اختبار الأداء
يتضمن اختبار الأداء لتطبيق البيانات الضخمة اختبار كميات هائلة من البيانات المنظمة وغير المنظمة، ويتطلب ذلك اتباع نهج اختبار محدد لاختبار هذه البيانات الضخمة.
يوضح سير العمل أدناه التسلسل الذي يتبعه اختبار الأداء.
يتم تنفيذ اختبار الأداء بهذا الترتيب.
- تبدأ العملية بإعداد مجموعة البيانات الضخمة التي سيتم اختبار أدائها.
- تحديد وتصميم أعباء العمل المقابلة
- إعداد العملاء الأفراد (يتم إنشاء نصوص برمجية مخصصة)
- قم بتنفيذ الاختبار وتحليل النتائج (إذا لم يتم تحقيق الأهداف، فقم بضبط المكون وأعد التنفيذ).
- التكوين الأمثل
معلمات لاختبار الأداء
تتضمن المعايير المختلفة التي يجب التحقق منها لاختبار الأداء ما يلي:
- مخزن البيانات: كيفية تخزين البيانات في العقد المختلفة
- سجلات الالتزام: حجم سجل الالتزامات المسموح به
- التزامن: كم عدد الخيوط التي يمكنها تنفيذ عمليات الكتابة والقراءة؟
- التخزين المؤقت: اضبط إعدادات ذاكرة التخزين المؤقت "ذاكرة التخزين المؤقت للصفوف" و"ذاكرة التخزين المؤقت للمفاتيح".
- مهلة زمنية: قيم مهلة الاتصال، مهلة الاستعلام، إلخ.
- معلمات JVM: حجم الذاكرة المخصصة، وخوارزميات جمع البيانات المهملة، وما إلى ذلك.
- أداء MapReduce: فرز، دمج، إلخ.
- قائمة انتظار الرسائل: معدل الرسائل، حجمها، إلخ.
احتياجات بيئة الاختبار
تختلف متطلبات بيئة الاختبار باختلاف نوع التطبيق الذي يتم اختباره. بالنسبة لاختبار برمجيات البيانات الضخمة، يجب أن تشمل بيئة الاختبار ما يلي.
- ينبغي أن يتوفر فيه مساحة كافية لتخزين ومعالجة كمية كبيرة من البيانات
- يجب أن يكون لديه مجموعة من العقد والبيانات الموزعة
- يجب أن يكون لديه الحد الأدنى من استخدام وحدة المعالجة المركزية والذاكرة للحفاظ على الأداء العالي لاختبار أداء البيانات الضخمة
اختبار البيانات الضخمة مقابل اختبار قواعد البيانات التقليدية
يوضح الجدول أدناه الفرق بين التخصصين خاصية بخاصية.
| عقارات | اختبار قاعدة البيانات التقليدية | اختبار البيانات الضخمة |
|---|---|---|
| البيانات | يعمل برنامج الاختبار مع البيانات المنظمة | يعمل المُختبر مع كل من البيانات المنظمة وغير المنظمة |
| نهج الاختبار | نهج الاختبار محدد جيدًا وتم اختباره عبر الزمن | يتطلب نهج الاختبار جهودًا مركزة في مجال البحث والتطوير |
| استراتيجية الاختبار | يملك المختبر خيار استخدام استراتيجية "أخذ العينات" التي تتم يدويًا أو استراتيجية "التحقق الشامل" بواسطة أداة أتمتة | تُمثل استراتيجية "أخذ العينات" في البيانات الضخمة تحديًا |
| البنية التحتية | لا يتطلب بيئة اختبار خاصة لأن حجم الملف محدود | يتطلب بيئة اختبار خاصة بسبب حجم البيانات والملفات الكبيرة (HDFS) |
| أدوات التحقق | يستخدم برنامج الاختبار إما وحدات ماكرو قائمة على برنامج Excel أو أدوات أتمتة قائمة على واجهة المستخدم | لا توجد أدوات محددة؛ النطاق واسع للغاية، بدءًا من أدوات البرمجة مثل MapReduce وحتى HiveQL |
| أدوات الاختبار | يمكن استخدام أدوات الاختبار بمعرفة تشغيلية أساسية وتدريب أقل | يتطلب تشغيل أداة الاختبار مجموعة محددة من المهارات والتدريب. كما أن هذه الأدوات لا تزال في مراحلها الأولى، وقد تُضاف إليها ميزات جديدة مع مرور الوقت. |
الأدوات المستخدمة في سيناريوهات البيانات الضخمة
يصنف الجدول أدناه الأدوات الشائعة حسب طبقة المجموعة.
| البيانات الكبيرة Cluster | أدوات البيانات الضخمة |
|---|---|
| نوسقل: | CouchDB، قواعد بيانات MongoDB, Cassandra، ريديس، ZooKeeper، HBase |
| تقليل الخريطة: | هادوب، خلية النحل، بيج، كاسكيدينج، أوزي، كافكا، إس 4، ماب آر، وهد |
| التخزين: | S3، HDFS (نظام الملفات الموزعة Hadoop) |
| خوادم: | المرن، Heroku, Google محرك التطبيقات، EC2 |
| معالجة: | ر، ياهو! الأنابيب، الترك الميكانيكي، الأوراق الكبيرة، الداتامير |
التحديات في اختبار البيانات الضخمة
تتكرر ثلاث عقبات عملية في كل مشروع من مشاريع البيانات الضخمة تقريباً.
- الأتمتة: اختبار الأتمتة يتطلب التعامل مع البيانات الضخمة وجود شخص ذي خبرة تقنية. كما أن الأدوات الآلية غير مجهزة للتعامل مع المشكلات غير المتوقعة التي قد تنشأ أثناء الاختبار.
- الافتراضية: تُعدّ هذه المرحلة إحدى المراحل الأساسية للاختبار. يُسبّب زمن استجابة الآلة الافتراضية مشاكل في التوقيت أثناء اختبار أداء البيانات الضخمة في الوقت الفعلي. كما أن إدارة الصور في البيانات الضخمة تُشكّل عبئًا كبيرًا.
- مجموعة بيانات كبيرة: ثلاثة ضغوط تأتي مع الحجم.
- تحتاج إلى التحقق من المزيد من البيانات وتحتاج إلى القيام بذلك بشكل أسرع
- تحتاج إلى أتمتة جهد الاختبار
- يجب أن يكون بالإمكان إجراء الاختبارات على منصات مختلفة
تحديات اختبار الأداء
- مجموعة متنوعة من التقنيات: ينتمي كل مكون فرعي إلى تقنية مختلفة ويتطلب اختباره بشكل منفصل
- عدم توفر أدوات محددة: لا توجد أداة واحدة قادرة على إجراء الاختبار الشامل. على سبيل المثال، قد لا يكون NoSQL مناسبًا لقوائم انتظار الرسائل.
- كتابة البرامج النصية للاختبار: يتطلب تصميم سيناريوهات وحالات الاختبار مستوى عالٍ من البرمجة النصية
- بيئة الاختبار: يتطلب الأمر بيئة اختبار خاصة نظراً لحجم البيانات الكبير
- حلول المراقبة: توجد حلول محدودة يمكنها مراقبة البيئة بأكملها
- الحل التشخيصي: يلزم حل مخصص للتعمق في مناطق الاختناقات في الأداء



