محركات استعلامات قواعد البيانات: دفع مقابل سحب

2025-04-16

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