Moteurs disponibles
| Moteur | Description | Idéal pour |
|---|---|---|
auto | Sélectionne automatiquement le meilleur moteur pour chaque opération | Utilisation générale (par défaut) |
chdb | Exécute toutes les opérations via ClickHouse SQL | Grands ensembles de données, agrégations |
pandas | Exécute toutes les opérations via pandas | Tests de compatibilité, fonctionnalités propres à pandas |
Définir le moteur
Configuration globale
Vérifier le moteur actuel
mode auto
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
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
| Type d’opération | Performances |
|---|---|
| GroupBy/Agrégation | Excellentes (jusqu’à 20x plus rapide) |
| Filtrage complexe | Excellentes |
| Tri | Très bonnes |
| Filtres simples individuels | Bonnes (léger surcoût) |
Limites
- Les fonctions Python personnalisées peuvent ne pas être prises en charge
- Certaines fonctionnalités propres à pandas nécessitent une conversion
Mode 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
| Type d’opération | Performance |
|---|---|
| Opérations simples | Bonne |
| Fonctions personnalisées | Excellente |
| Agrégations complexes | Plus lentes que chDB |
| Jeux de données volumineux | Gourmands en mémoire |
Moteur Cross-DataStore
Exemple
Logique de sélection du moteur
Arbre de décision du mode Auto
Surcharge au niveau de la fonction
Comparaison des performances
| Opération | pandas (ms) | chdb (ms) | Accélération |
|---|---|---|---|
| GroupBy count | 347 | 17 | 19.93x |
| Opérations combinées | 1,535 | 234 | 6.56x |
| Pipeline complexe | 2,047 | 380 | 5.39x |
| Filter+Sort+Head | 1,537 | 350 | 4.40x |
| GroupBy agg | 406 | 141 | 2.88x |
| Filtre simple | 276 | 526 | 0.52x |
- 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
autopour profiter du meilleur des deux