Passer au contenu principal

Prérequis

  • Python 3.8+
  • Plateformes prises en charge : macOS et Linux (x86_64 et ARM64)

Installation

Utilisation

Interface en ligne de commande

Exécutez des requêtes SQL directement sur la ligne de commande :

Utilisation de base de Python

API avec connexion (recommandée)

Pour une meilleure gestion des ressources et de meilleures performances :

Méthodes d’ingestion des données

Sources de données basées sur des fichiers

chDB prend en charge plus de 70 formats de données pour interroger directement des fichiers :

Exemples de formats de sortie

Opérations sur les DataFrames

API DataFrame héritée

Sessions avec état

Les sessions conservent l’état des requêtes sur plusieurs opérations, ce qui permet des flux de travail complexes :

Fonctionnalités avancées de session

Voir aussi : test_stateful.py.

Interface DB-API 2.0 pour Python

Interface de base de données standard assurant la compatibilité avec les applications Python existantes :

Fonctions définies par l’utilisateur (UDF)

Étendez SQL à l’aide de fonctions Python personnalisées :

Utilisation de base des UDF

UDF avancées avec des types de retour personnalisés

Bonnes pratiques des UDF

  1. Fonctions sans état : les UDF doivent être des fonctions pures, sans effets de bord
  2. Import à l’intérieur des fonctions : tous les modules nécessaires doivent être importés dans l’UDF
  3. Entrée/sortie de chaînes : tous les paramètres des UDF sont des chaînes (format TabSeparated)
  4. Gestion des erreurs : incluez des blocs try-catch pour rendre les UDF plus robustes
  5. Performances : les UDF sont appelées pour chaque ligne, veillez donc à optimiser les performances

Traitement des requêtes en streaming

Traitez de grands volumes de données avec une consommation mémoire constante :

Moteur de table Python

Interroger des DataFrames Pandas

Sources de données personnalisées avec PyReader

Développez des lecteurs de données personnalisés pour des sources de données spécialisées :

Performance et optimisation

Benchmarks

chDB surpasse systématiquement les autres moteurs embarqués :
  • Opérations sur DataFrame : 2 à 5x plus rapides que les bibliothèques DataFrame traditionnelles pour les requêtes analytiques
  • Traitement de Parquet : rivalise avec les principaux moteurs colonnaires
  • Efficacité mémoire : empreinte mémoire plus faible que les solutions alternatives
Plus de détails sur les résultats des benchmarks

Conseils de performance

Dépôt GitHub

Dernière modification le 25 juin 2026