الانتقال إلى المحتوى الرئيسي
يمكن وصف أنظمة مثل MapReduce بأنها أنظمة حوسبة موزعة تعتمد فيها عملية reduce على الفرز الموزع. وأكثر الحلول مفتوحة المصدر شيوعًا في هذه الفئة هو Apache Hadoop. هذه الأنظمة غير مناسبة للاستعلامات التفاعلية بسبب ارتفاع زمن الوصول فيها. وبعبارة أخرى، لا تصلح للعمل كخلفية لواجهة ويب. كما أن هذه الفئة من الأنظمة ليست مفيدة لتحديثات البيانات في الوقت الفعلي. كذلك لا يُعد الفرز الموزع أفضل طريقة لتنفيذ عمليات reduce إذا كانت نتيجة العملية وجميع النتائج الوسيطة (إن وجدت) موجودة في RAM لخادم واحد، وهو ما يكون عادةً الحال في الاستعلامات التفاعلية. وفي هذه الحالة، يكون جدول التجزئة هو الطريقة المثلى لتنفيذ عمليات reduce. ومن الأساليب الشائعة لتحسين مهام map-reduce إجراء التجميع المسبق (reduce جزئي) باستخدام جدول تجزئة في RAM. وينفّذ المستخدم هذا التحسين يدويًا. ويُعد الفرز الموزع أحد الأسباب الرئيسية لانخفاض الأداء عند تشغيل مهام map-reduce البسيطة. تتيح معظم تطبيقات MapReduce تنفيذ تعليمات برمجية عشوائية على cluster. لكن لغة استعلام تصريحية أنسب لـ OLAP لإجراء التجارب بسرعة. فعلى سبيل المثال، يوفّر Hadoop كلًا من Hive و Pig. ويمكنك أيضًا النظر إلى Cloudera Impala أو Shark ‏(outdated) لـ Spark، وكذلك Spark SQL و Presto و Apache Drill. ويكون الأداء عند تشغيل مثل هذه المهام أقل بكثير من المستوى الأمثل مقارنةً بالأنظمة المتخصصة، لكن ارتفاع زمن الوصول نسبيًا يجعل استخدام هذه الأنظمة كخلفية لواجهة ويب أمرًا غير عملي.
آخر تعديل في ٢٩ يونيو ٢٠٢٦