Passer au contenu principal
DataStore peut exécuter des opérations via différents backends. Ce guide explique comment configurer et optimiser le choix du moteur.

Moteurs disponibles

Définir le moteur

Configuration globale

Vérifier le moteur actuel


mode auto

En mode auto (par défaut), DataStore choisit le moteur le plus adapté à chaque opération :

Opérations exécutées dans chDB

  • Filtrage de type SQL (filter(), where())
  • Sélection de colonnes (select())
  • Tri (sort(), orderby())
  • Regroupement et agrégation (groupby().agg())
  • Jointures (join(), merge())
  • Déduplication (distinct(), drop_duplicates())
  • Limitation (limit(), head(), tail())

Opérations effectuées dans pandas

  • Fonctions apply personnalisées (apply(custom_func))
  • Tableaux croisés dynamiques complexes avec des agrégations personnalisées
  • Opérations impossibles à exprimer en SQL
  • Lorsque l’entrée est déjà un DataFrame pandas

Exemple


Mode chDB

Forcez toutes les opérations via ClickHouse SQL :

Quand l’utiliser

  • Traitement de grands volumes de données (des millions de lignes)
  • Charges de travail d’agrégation intensives
  • Lorsque vous recherchez une optimisation SQL maximale
  • Comportement cohérent pour toutes les opérations

Caractéristiques en matière de performances

Limites

  • Les fonctions Python personnalisées peuvent ne pas être prises en charge
  • Certaines fonctionnalités propres à pandas nécessitent une conversion

Mode pandas

Forcer toutes les opérations via pandas :

Quand utiliser

  • Tests de compatibilité avec pandas
  • Utilisation de fonctionnalités propres à pandas
  • Débogage des problèmes liés à pandas
  • Lorsque les données sont déjà au format pandas

Caractéristiques de performances


Moteur Cross-DataStore

Configurez le moteur pour les opérations combinant des colonnes de différents DataStores :

Exemple


Logique de sélection du moteur

Arbre de décision du mode Auto

Surcharge au niveau de la fonction

Certaines fonctions peuvent avoir leur moteur configuré explicitement :
Voir Configuration des fonctions pour plus de détails.

Comparaison des performances

Résultats du benchmark sur 10 M lignes : Points clés :
  • chDB excelle pour les agrégations et les pipelines complexes
  • pandas est légèrement plus rapide pour les opérations simples prises isolément
  • Utilisez le mode auto pour profiter du meilleur des deux

Bonnes pratiques

1. Commencez par mode auto

2. Définissez un profil avant de forcer

3. Forcer un moteur pour des charges de travail spécifiques

4. Utilisez explain() pour comprendre l’exécution


Dépannage

Problème : opération plus lente que prévue

Problème : opération non prise en charge en mode chdb

Problème : problèmes de mémoire avec de gros volumes de données

Performance ModeSi vous exécutez des charges d’agrégation importantes et que vous n’avez pas besoin d’une compatibilité exacte avec la sortie de pandas (ordre des lignes, MultiIndex, corrections de type), envisagez d’utiliser le Performance Mode. Il définit automatiquement le moteur sur chdb et supprime toute la surcharge liée à la compatibilité avec pandas.
Dernière modification le 2 juillet 2026