مقدار البيانات التي يمكن لـ Raspberry Pi معالجتها بسرعة

وقت المعالجة في مشروع مستودع بيانات المؤسسة الذي أعرفه باستخدام نموذج علائقي هو 2.5 ساعة تقريبًا. هل هو كثير أم قليل؟



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



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









رقم 1



ستلعب آلة Exadata X5 (وحدة واحدة) التابعة لشركة Oracle Corporation دور اللاعب المتمرس والقوي.



تتضمن عملية معالجة البيانات الخطوات التالية:



  • القراءة من ملف 10.3 جيجا بايت - 350 مليون سجل في 90 دقيقة.
  • معالجة البيانات وتنظيفها - استعلامان SQL و 15 دقيقة (مع تشفير البيانات الشخصية 180 دقيقة).
  • قياسات التحميل - 10 دقائق.
  • تنزيل جداول الحقائق مع 20 مليون سجل جديد - 5 استعلامات SQL و 35 دقيقة.


إجمالي التكامل 350 مليون سجل في 2.5 ساعة ، وهو ما يعادل 2.3 مليون سجل في الدقيقة أو ما يقرب من 39 ألف سجل بيانات خام في الثانية.



# 2



سيكون الخصم التجريبي هو Raspberry Pi 3 Model B + مع معالج 1.4 GHz 4-core.



يستخدم Sqlite3 كمخزن ، تتم قراءة الملفات باستخدام PHP. توجد الملفات وقاعدة البيانات على بطاقة 32 جيجا بايت فئة 10 SD في القارئ المدمج. يتم إنشاء النسخة الاحتياطية على محرك أقراص فلاش 64 جيجابايت متصل بـ USB.



يتم وصف نموذج البيانات في قاعدة البيانات العلائقية sqlite3 والتقارير في المقالة حول التخزين الصغير .



نموذج البيانات
image





اختبار واحد



يبلغ حجم ملف access.log الأصلي 37 ميجا بايت مع 200 ألف إدخال.



  • استغرق 340 ثانية لقراءة السجل والكتابة إلى قاعدة البيانات.
  • استغرق تحميل القياسات مع 5 آلاف تسجيل 5 ثوان.
  • تحميل جداول الحقائق مع 90 ألف تسجيل جديد - 32 ثانية.


في المجموع ، استغرق دمج 200 ألف سجل حوالي 7 دقائق ، وهو ما يعادل 28 ألف سجل في الدقيقة أو 470 سجل بيانات خام في الثانية. تحتل قاعدة البيانات 7.5 ميغابايت ؛ استعلامات SQL 8 فقط لمعالجة البيانات.



الاختبار الثاني



ملف موقع أكثر نشاطًا. يبلغ حجم الملف access.log الأصلي 67 ميجابايت مع 290 ​​ألف إدخال.



  • استغرق 670 ثانية لقراءة السجل والكتابة إلى قاعدة البيانات.
  • قياسات التحميل مع 25 ألف سجل استمرت 8 ثوان.
  • تحميل جداول الحقائق مع 240 ألف سجل جديد - 80 ثانية.


في المجموع ، استغرق دمج 290 ألف سجل ما يزيد قليلاً عن 12 دقيقة ، وهو ما يعادل 23 ألف سجل في الدقيقة أو 380 سجل بيانات المصدر في الثانية. قاعدة البيانات هي 22.9 ميغابايت



انتاج |



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

على سبيل المثال ، تكلف وحدة Exadata أكثر من 100 ألف. يكلف One Raspberry Pi 60 وحدة.

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



ومع ذلك ، إذا كنت تتخيل الحالة عندما يعمل ألف Raspberry Pi بالتوازي ، فعندئذٍ ، بناءً على التجربة ، سيعالجون حوالي 400 ألف سجل من بيانات المصدر في الثانية.

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



على أي حال ، يعتبر Raspberry Pi رائعًا في معالجة البيانات والنماذج العلائقية للمقياس المناسب.



حلقة الوصل



تم تكوين Raspberry Pi المنزلي كخادم ويب. سوف أصف هذه العملية في المنشور التالي.

يمكنك تجربة أداء Raspberry Pi وملف access.log بنفسك على . يمكن تنزيل نموذج قاعدة البيانات (DDL) ، وإجراءات التحميل (ETL) وقاعدة البيانات نفسها من هناك. الفكرة هي الحصول بسرعة على فكرة عن حالة الموقع من السجل ببيانات من الأسابيع الأخيرة.



التغييرات

بفضل التعليقات ، تم إصلاح الخطأ في تحميل ملف Exadata وتم إصلاح الأرقام في الملاحظة. يستخدم Sqlloader للقراءة ، وحذف بعض الأخطاء معلمات BINDSIZE و ROWS. بسبب التحميل غير المستقر من محرك أقراص بعيد ، تم اختيار الطريقة التقليدية بدلاً من المسار المباشر ، مما قد يزيد من السرعة بنسبة 30-50٪ أخرى.



All Articles