Skip to main content
يمكن لـ DataStore تنفيذ العمليات باستخدام محركات خلفية مختلفة. يوضح هذا الدليل كيفية ضبط اختيار محرك التنفيذ وتحسينه.

المحركات المتاحة

ضبط المحرك

التهيئة العامة

التحقق من المحرّك الحالي


الوضع التلقائي

في وضع auto (الافتراضي)، يختار DataStore المحرّك الأنسب لكل عملية:

العمليات المنفذة في chDB

  • التصفية المتوافقة مع SQL (filter(), where())
  • تحديد الأعمدة (select())
  • الفرز (sort(), orderby())
  • التجميع والعمليات التجميعية (groupby().agg())
  • عمليات الربط (join(), merge())
  • القيم المميزة (distinct(), drop_duplicates())
  • تحديد العدد (limit(), head(), tail())

العمليات المُنفَّذة في pandas

  • دوال apply مخصّصة (apply(custom_func))
  • جداول محورية معقّدة مع تجميعات مخصّصة
  • عمليات لا يمكن التعبير عنها باستخدام SQL
  • عندما تكون المدخلات أصلًا pandas DataFrame

مثال


وضع chDB

أجبِر جميع العمليات على المرور عبر ClickHouse SQL:

متى يُستخدم

  • معالجة مجموعات بيانات كبيرة (ملايين الصفوف)
  • أعباء تجميع كثيفة
  • عندما تريد أقصى استفادة من تحسينات SQL
  • سلوك متسق في جميع العمليات

خصائص الأداء

القيود

  • قد لا تكون دوال بايثون المخصّصة مدعومة
  • تتطلب بعض الخصائص الخاصة بـ pandas إجراء تحويل

وضع pandas

افرض تنفيذ جميع العمليات من خلال pandas:

متى تستخدم pandas

  • اختبار التوافق مع pandas
  • استخدام الميزات الخاصة بـ pandas
  • استكشاف المشكلات المرتبطة بـ pandas وإصلاحها
  • عندما تكون البيانات موجودة بالفعل بصيغة pandas

خصائص الأداء


محرك Cross-DataStore

اضبط المحرك للعمليات التي تجمع أعمدة من وحدات DataStore مختلفة:

مثال


آلية اختيار المحرك

شجرة اتخاذ القرار في الوضع التلقائي

تجاوز الإعدادات على مستوى الدالة

يمكن ضبط محرك لبعض الدوال بشكل صريح:
راجع إعدادات الدالة لمزيد من التفاصيل.

مقارنة الأداء

نتائج الاختبار المعياري على 10 ملايين صف: أهم الملاحظات:
  • يتفوق chDB في عمليات التجميع وخطوط المعالجة المعقدة
  • يكون pandas أسرع قليلًا عند تنفيذ العمليات البسيطة المنفردة
  • استخدم وضع auto للحصول على أفضل ما في كليهما

أفضل الممارسات

1. ابدأ باستخدام الوضع التلقائي

2. قِس الأداء قبل الفرض

3. فرض استخدام محرك معيّن لأعباء عمل محددة

4. استخدم explain() لفهم آلية التنفيذ


استكشاف الأخطاء وإصلاحها

المشكلة: العملية أبطأ من المتوقع

المشكلة: عملية غير مدعومة في وضع chdb

المشكلة: مشكلات في الذاكرة عند التعامل مع كميات كبيرة من البيانات

وضع الأداءإذا كنت تشغّل أحمال تجميع كثيفة ولا تحتاج إلى توافق كامل ودقيق مع مخرجات pandas (ترتيب الصفوف، MultiIndex، تصحيحات نوع البيانات)، ففكّر في استخدام وضع الأداء. يضبط هذا تلقائيًا المحرك على chdb ويزيل كل العبء الإضافي المرتبط بتوافق pandas.
آخر تعديل في ٢٣ يوليو ٢٠٢٦