الانتقال إلى المحتوى الرئيسي
يمكن لـ 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
  • سلوك متسق في جميع العمليات

خصائص الأداء

القيود

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

وضع Pandas

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

متى تستخدم pandas

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

خصائص الأداء


محرك Cross-DataStore

قم بتهيئة المحرك للعمليات التي تدمج أعمدة من مثيلات DataStore مختلفة:

مثال


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

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

تجاوز خاص بالدالة

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

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

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

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

1. ابدأ بـ الوضع التلقائي

2. حلّل الأداء قبل الفرض

3. فرض استخدام المحرك لأحمال عمل محددة

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


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

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

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

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

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