Skip to main content
DataStore peut exécuter des opérations via différents backends. Ce guide explique comment configurer et optimiser le choix du moteur.

Moteurs disponibles

Configuration du moteur

Configuration globale

Vérifier le moteur actuel


Mode automatique

En mode auto (par défaut), DataStore choisit le moteur optimal pour chaque opération :

Opérations exécutées dans chDB

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

Opérations exécutées dans pandas

  • Fonctions personnalisées avec 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 pandas DataFrame

Exemple


Mode chDB

Faites passer toutes les opérations par ClickHouse SQL :

Quand utiliser

  • Traitement de grands volumes de données (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 de performance

Limites

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

Mode pandas

Forcez toutes les opérations à passer par pandas :

Quand utiliser

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

Caractéristiques des performances


Moteur Cross-DataStore

Configurez le moteur pour les opérations qui combinent des colonnes provenant de différents DataStores :

Exemple


Logique de sélection du moteur

Arbre de décision du mode Auto

Surcharge au niveau des fonctions

Pour certaines fonctions, il est possible de configurer explicitement leur moteur :
Voir Configuration de fonction pour plus de détails.

Comparaison des performances

Résultats du benchmark sur 10 millions de 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
  • Utilisez le mode auto pour tirer le meilleur parti des deux

Bonnes pratiques

1. Commencez par mode automatique

2. Mesurez avant de forcer

3. Imposer un moteur pour certaines charges de travail

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


Dépannage

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

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

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

Mode PerformanceSi 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 Dtype), envisagez d’utiliser le Mode Performance. Il définit automatiquement le moteur sur chdb et supprime toute la surcharge liée à la compatibilité avec pandas.
Dernière modification le 23 juillet 2026