Installation
dbc :
dbc publié pour chDB est la version 26.7.0. Pour vérifier les versions disponibles, exécutez :
chdb à partir d’un gestionnaire de pilotes ADBC.
Linux et macOS sont pris en charge sur les architectures x86-64 et arm64.
Connexion depuis Python
dbc par son nom :
Cycle de vie des connexions
- Toutes les connexions ADBC ouvertes simultanément dans un même processus doivent pointer vers le même chemin de stockage.
- Plusieurs connexions vers ce chemin sont prises en charge, y compris lorsqu’elles sont utilisées simultanément depuis différents threads. Pour les requêtes concurrentes, attribuez à chaque worker sa propre connexion plutôt que d’exécuter des opérations simultanées sur une seule connexion.
- La fermeture de la dernière connexion arrête le moteur intégré. Une connexion ultérieure peut le redémarrer, y compris avec un chemin de stockage différent, mais les arrêts et démarrages répétés consomment du temps et de la mémoire. Gardez au moins une connexion ouverte pour les tâches répétées.
- Un seul processus du système d’exploitation peut ouvrir un répertoire donné sur disque à la fois. Attribuez à chaque processus son propre répertoire ou utilisez une base de données en mémoire.
Utiliser ADBC avec le paquet Python chDB
dbc installe un pilote ADBC natif autonome. Il est distinct de la bibliothèque native chargée par le paquet Python chdb.
Dans un même processus Python, ne vous attendez pas à ce qu’une connexion ADBC chargée par dbc et une connexion chdb classique partagent des tables en mémoire ou l’état du moteur. Pour un chemin de base de données donné, utilisez soit le pilote ADBC, soit l’API Python chdb, mais pas les deux simultanément ; ne les laissez pas tous deux ouverts sur le même chemin sur disque. Pour transférer des données entre les deux API, fermez toutes les connexions d’un côté avant d’ouvrir l’autre, ou transmettez explicitement les données via Arrow ou des fichiers.
Fonctionnalités implémentées
Pas encore indique une capacité du pilote ADBC qui pourra être ajoutée ultérieurement. Non applicable indique une fonctionnalité qui ne correspond pas au modèle d’exécution actuel de chDB ou de ClickHouse.
Base de données
Connexion
Instruction
L’ingestion en masse prend en charge les modes
create, append, create_append et replace, dans la base de données par défaut ou dans une base de données nommée.
ClickHouse SQL et comportement des types
- Les colonnes ne peuvent pas contenir de valeur NULL, sauf si elles sont déclarées
Nullable(...). Une valeur NULL typée liée à une colonneStringstandard est stockée sous forme de chaîne vide, et non comme NULL. - Utilisez la syntaxe ClickHouse pour délimiter les identifiants ; les exemples utilisent des accents graves.
- Les bases de données ClickHouse correspondent à
db_schemadans ADBC. Il n’existe pas de couche de catalogue au-dessus ; les opérations à l’échelle du catalogue ne s’appliquent donc pas. Decimaln’accepte pas les échelles négatives etDate32couvre la période allant du 1900-01-01 au 2299-12-31.- Un
DateTime64sans fuseau horaire est interprété dans le fuseau horaire du moteur. - La sortie Arrow actuelle de ClickHouse ne représente pas le type
Time; il ne peut donc pas être relu via ADBC.
Les données binaires sont stockées sous forme de
String et relues en UTF-8. Les payloads non valides en UTF-8 ne sont donc pas pris en charge pour un aller-retour de valeurs binary.
Exemples
Ingestion en masse depuis Arrow
Paramètres
C
dbc install chdb, le gestionnaire de pilotes C peut identifier le pilote par son nom :
Comment le pilote est vérifié
- la suite de conformité Apache Arrow ADBC, qui vérifie le contrat C
- la suite de validation ADBC Driver Foundry, qui vérifie le comportement au niveau SQL, les conversions aller-retour de types, les métadonnées et l’ingestion en masse