Client CockroachDB
Introduction
Lorsqu’on travaille avec des bases de données, disposer du bon client est essentiel pour une gestion efficace et une interaction optimale. Cet article présente le processus de connexion à CockroachDB. Nous aborderons l’utilisation des clients CockroachDB et des pilotes clients tels que « cockroach sql », JDBC et la bibliothèque Python. De plus, nous discuterons de la possibilité d’utiliser DBeaver avec CockroachDB.
Cet article est particulièrement adapté aux débutants qui commencent avec CockroachDB.
Client en ligne de commande CockroachDB
Le client SQL CockroachDB est également connu sous le nom de CockroachDB CLI. Le client en ligne de commande est un outil qui vous permet de travailler avec CockroachDB en utilisant des commandes SQL dans le terminal. Il vous permet de vous connecter à un serveur CockroachDB, d’exécuter des requêtes SQL et de gérer les bases de données depuis la ligne de commande.
Les principales fonctionnalités du client SQL CockroachDB incluent :
- Le client SQL dispose d’un shell interactif pour saisir et exécuter les instructions SQL une par une. Il vous permet d’explorer et de manipuler facilement les données de vos bases de données CockroachDB.
- Mode batch : Vous pouvez également utiliser le client SQL en mode batch, où vous exécutez des instructions SQL stockées dans un fichier. Cela est utile pour exécuter des scripts ou une série d’instructions SQL en une seule exécution.
- Gestion de bases de données : Le client SQL vous aide à gérer les bases de données en créant des bases, des tables, des index et des utilisateurs. Il vous permet également de modifier ou de supprimer des objets de la base de données.
- Exécution de requêtes : Vous pouvez utiliser SELECT, INSERT, UPDATE et DELETE pour rechercher et modifier les données dans vos bases de données CockroachDB.
- Le contrôle des transactions dans le client SQL vous permet de gérer les transactions à l’aide d’instructions comme BEGIN, COMMIT et ROLLBACK. Vous pouvez utiliser ces instructions dans des scripts ou des sessions interactives.
Pour commencer à utiliser le CockroachDB CLI, suivez ces étapes :
- Installez CockroachDB sur votre système.
- Ouvrez un terminal et exécutez la commande cockroach sql.
- Connectez-vous à votre cluster CockroachDB en utilisant les paramètres de connexion appropriés.
Voici un exemple de connexion à un cluster CockroachDB local :
$ cockroach sql --insecure --host=localhost --port=26257
Une fois connecté, vous pouvez exécuter des instructions SQL et gérer vos bases de données en utilisant le CockroachDB CLI.
Connexion via JDBC
CockroachDB prend en charge la connectivité via des pilotes JDBC, ce qui vous permet de l’intégrer à diverses applications et outils. Pour vous connecter en utilisant JDBC, vous devez inclure le pilote JDBC de CockroachDB dans les dépendances de votre projet. Voici un exemple d’établissement d’une connexion JDBC :
String url = "jdbc:postgresql://localhost:26257/defaultdb?sslmode=disable"; Connection conn = DriverManager.getConnection(url);
Lors de la connexion à une base de données via JDBC, plusieurs options d’authentification sont disponibles afin d’assurer un accès sécurisé. Une façon de se connecter consiste à utiliser un nom d’utilisateur et un mot de passe. Cela permet à l’utilisateur d’accéder à la base de données, ce qui aide à vérifier son identité et à prévenir l’accès non autorisé.
En plus d’utiliser un nom d’utilisateur et un mot de passe, le chiffrement SSL/TLS peut protéger la communication entre le client et le serveur de base de données. Cette technologie chiffre les données échangées, empêchant ainsi leur interception par des tiers. Le chiffrement SSL/TLS permet de garder vos informations d’identification et vos données en sécurité contre les cyberattaques.
Vous pouvez sécuriser davantage les connexions JDBC en combinant l’utilisation du nom d’utilisateur/mot de passe et du chiffrement SSL/TLS. Cela contribue à réduire le risque d’accès non autorisé et de fuites de données. La mise en œuvre de ces mesures de sécurité est cruciale pour les organisations souhaitant protéger leurs bases de données et leurs informations sensibles contre d’éventuelles menaces.
Compatibilité avec DBeaver
Les utilisateurs peuvent utiliser DBeaver, un outil populaire de gestion de bases de données, avec CockroachDB. Pour connecter DBeaver à votre cluster CockroachDB, suivez ces étapes :
- Installez DBeaver sur votre système.
- Créez une nouvelle connexion de base de données dans DBeaver.
- Sélectionnez « CockroachDB » comme type de base de données.
- Fournissez les détails de connexion nécessaires, tels que l’hôte, le port, le nom de la base de données et les identifiants d’authentification.
DBeaver vous permet de visualiser vos bases de données CockroachDB et d’effectuer diverses tâches de gestion de bases de données à l’aide de son interface conviviale. Vous pouvez également exécuter des requêtes SQL avec DBeaver.
DBeaver utilise le pilote JDBC PostgreSQL pour se connecter à CockroachDB. Toutefois, toutes les fonctionnalités de PostgreSQL ne sont pas nécessairement disponibles ou supportées par CockroachDB. CockroachDB vise à maintenir une compatibilité élevée avec PostgreSQL, mais il peut exister quelques différences en termes de fonctionnalités ou de syntaxe. Nous aborderons la compatibilité entre PostgreSQL et CockroachDB dans quelques paragraphes.
Lorsque vous travaillez avec CockroachDB dans DBeaver, vous pouvez utiliser la syntaxe SQL standard de PostgreSQL ainsi que les commandes supportées par CockroachDB. L’éditeur SQL de DBeaver et les autres outils de gestion de bases de données fonctionneront sans problème avec CockroachDB, vous permettant ainsi d’interagir efficacement avec vos bases de données.
CockroachDB dans les applications Python
Pour les développeurs Python, CockroachDB fournit une bibliothèque Python qui simplifie les interactions avec la base de données. Pour commencer à utiliser la bibliothèque Python de CockroachDB, installez-la à l’aide de pip :
$ pip install psycopg2-binary
Voici un exemple de connexion à CockroachDB et d’exécution d’une requête SQL simple en utilisant la bibliothèque Python :
import psycopg2
conn = psycopg2.connect("postgresql://username:password@localhost:26257/defaultdb?sslmode=disable")
cur = conn.cursor()
cur.execute("SELECT * FROM users")
results = cur.fetchall()
print(results)La bibliothèque Python de CockroachDB prend en charge diverses opérations, notamment l’exécution d’instructions SQL, la gestion des transactions et la récupération des résultats de requête.
Il convient de noter qu’une version psycopg3 est également disponible.
Avez-vous remarqué psycopg ?
CockroachDB s’appuie sur PostgreSQL, tout comme Redshift. CockroachDB imite les fonctionnalités de PostgreSQL et peut accomplir la plupart des mêmes tâches avec SQL. CockroachDB fonctionne bien avec les outils, pilotes et bibliothèques PostgreSQL, de sorte que les développeurs qui connaissent PostgreSQL peuvent aisément utiliser CockroachDB.
Les gens utilisent psycopg2 pour se connecter à CockroachDB en Python parce qu’il s’agit d’un adaptateur PostgreSQL très utilisé pour Python. Étant donné que CockroachDB est compatible avec PostgreSQL, vous pouvez utiliser psycopg2 pour établir une connexion et interagir avec les bases de données CockroachDB.
Pour vous connecter à CockroachDB en utilisant psycopg2, vous pouvez utiliser le format standard de l’URL de connexion PostgreSQL. Il suffit de spécifier l’hôte, le port, le nom de la base de données et les informations d’authentification. La compatibilité de CockroachDB avec le protocole de communication de PostgreSQL permet à psycopg2 de communiquer sans problème avec CockroachDB.
Les développeurs Python peuvent facilement utiliser CockroachDB dans leurs applications en tirant parti de sa compatibilité avec PostgreSQL et en utilisant la bibliothèque psycopg2. Cela leur permet de bénéficier de son architecture distribuée et évolutive.
Cluster Serverless CockroachDB
Un cluster Serverless CockroachDB est une version entièrement gérée et hébergée dans le cloud de CockroachDB, proposée par Cockroach Labs. Vous pouvez utiliser CockroachDB sans avoir à gérer vous-même l’infrastructure.
Utilisez l’interface en ligne de commande ‘ccloud‘ pour connecter le cluster serverless. Comme vous venez de vous connecter au système cloud, aucun cluster n’est présent. Vous pouvez créer un nouveau cluster dans la console cloud CockroachDB (connexion requise) ou en utilisant cet outil en ligne de commande.
Conseils avancés et améliorations de la sécurité
Compatibilité PostgreSQL : Ce qui fonctionne et ce qui ne fonctionne pas
Bien que CockroachDB soit largement compatible avec PostgreSQL, certaines fonctionnalités ne sont pas prises en charge ou se comportent différemment. Vous trouverez ci-dessous un tableau de compatibilité rapide pour vous aider à planifier votre intégration.
| Fonctionnalité | PostgreSQL | CockroachDB | Remarques |
|---|---|---|---|
| Recherche en texte intégral | ✅ | ❌ | Non supportée actuellement dans CockroachDB. |
| Procédures stockées | ✅ | ❌ | Support limité uniquement pour les fonctions définies par l’utilisateur (UDF). |
| Type de données SERIAL | ✅ | ❌ | Utilisez unique_rowid() ou les UUID à la place. |
| CTE et fonctions analytiques (window functions) | ✅ | ✅ | Globalement compatibles et stables. |
Connexions sécurisées JDBC et Python via DataSunrise
Si vous déployez CockroachDB en production, notamment pour des charges de travail réglementées, le fait de faire transiter les connexions par un proxy de sécurité comme DataSunrise vous aide à centraliser les contrôles d’accès et les audits.
jdbc:postgresql://proxy.datasunrise.local:5432/defaultdb?sslmode=require
Pour Python avec psycopg2 :
conn = psycopg2.connect("postgresql://user:[email protected]:5432/defaultdb?sslmode=require")Lorsqu’il est utilisé avec DataSunrise, chaque requête vers CockroachDB est enregistrée, analysée et éventuellement masquée en temps réel — idéal pour des cas d’usage de conformité.
Liste de contrôle de sécurité pour la production
- ✅ Utilisez
sslmode=verify-fulldans toutes les chaînes de connexion - ✅ Imposer l’authentification par certificat client avec CockroachDB
- ✅ Faire pivoter régulièrement les certificats clients (intégration avec HashiCorp Vault ou AWS Secrets Manager)
- ✅ Utiliser DataSunrise en tant que proxy inverse pour appliquer les politiques d’audit et de masquage
- ✅ Éviter le mode
--insecuredans tout environnement autre que local
Conclusion
Cet article aborde les différentes méthodes de connexion à CockroachDB. Ces méthodes incluent l’utilisation du CLI CockroachDB, de JDBC et de la bibliothèque Python de CockroachDB. Nous avons également abordé la compatibilité avec DBeaver, un outil de gestion de bases de données populaire.
Vous pouvez utiliser ces options pour travailler facilement avec vos clusters CockroachDB, exécuter des commandes SQL et gérer vos bases de données distribuées. CockroachDB offre diverses options de client parmi lesquelles vous pouvez choisir. Plusieurs méthodes existent pour accéder à CockroachDB, notamment via une interface en ligne de commande, des outils GUI comme DBeaver et des bibliothèques telles que la bibliothèque Python de CockroachDB.
Pour des outils conviviaux et flexibles de sécurité, d’audit et de conformité des bases de données, envisagez d’explorer les solutions proposées par DataSunrise. DataSunrise agit généralement en tant que proxy inverse pour protéger votre base de données lorsque certaines applications clientes y accèdent. Notre équipe se fera un plaisir de vous proposer une démo en ligne afin de vous présenter les capacités de notre produit.
