DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

CockroachDB Client

CockroachDB Client

Introduzione

Quando si lavora con i database, avere il client adeguato è fondamentale per una gestione efficiente e per l’interazione. Questo articolo illustra il processo di collegamento a CockroachDB. Tratteremo l’utilizzo dei client CockroachDB e dei driver client come “cockroach sql”, JDBC e la libreria Python. Inoltre, discuteremo della possibilità di utilizzare DBeaver con CockroachDB.

Questo articolo è certamente adatto ai principianti che iniziano ad utilizzare CockroachDB.

Client da Linea di Comando di CockroachDB

Il client SQL di CockroachDB è anche noto come CockroachDB CLI. Il client da linea di comando è uno strumento che consente di lavorare con CockroachDB utilizzando comandi SQL nel terminale. Permette di connettersi a un server CockroachDB, eseguire query SQL e gestire i database dalla linea di comando.

Le caratteristiche principali del client SQL di CockroachDB includono:

  1. Il client SQL dispone di una shell interattiva per l’inserimento ed esecuzione delle istruzioni SQL una alla volta. Consente di esplorare e manipolare facilmente i dati nei database CockroachDB.
  2. Modalità batch: è possibile utilizzare il client SQL in modalità batch, in cui è possibile eseguire le istruzioni SQL memorizzate in un file. Questo è utile per eseguire script o una serie di istruzioni SQL in un’unica esecuzione.
  3. Gestione del database: il client SQL consente di gestire i database creando database, tabelle, indici e utenti. Permette inoltre di modificare o eliminare oggetti del database.
  4. Esecuzione di query: è possibile utilizzare SELECT, INSERT, UPDATE e DELETE per cercare e modificare i dati nei database CockroachDB.
  5. Il controllo delle transazioni nel client SQL consente di gestire le transazioni utilizzando istruzioni come BEGIN, COMMIT e ROLLBACK. Queste istruzioni possono essere utilizzate sia in script che in sessioni interattive.

Per iniziare ad utilizzare il CockroachDB CLI, segua questi passaggi:

  1. Installi CockroachDB sul Suo sistema.
  2. Apra un terminale ed esegua il comando cockroach sql.
  3. Si connetta al Suo cluster CockroachDB utilizzando i parametri di connessione appropriati.

Ecco un esempio di connessione a un cluster CockroachDB locale:

$ cockroach sql --insecure --host=localhost --port=26257

Una volta connesso, potrà eseguire istruzioni SQL e gestire i Suoi database utilizzando il CockroachDB CLI.

Connessione con JDBC

CockroachDB supporta la connettività tramite driver JDBC, permettendo l’integrazione con diverse applicazioni e strumenti. Per connettersi utilizzando JDBC, sarà necessario includere il driver JDBC di CockroachDB tra le dipendenze del Suo progetto. Ecco un esempio per stabilire una connessione JDBC:

String url = "jdbc:postgresql://localhost:26257/defaultdb?sslmode=disable";
Connection conn = DriverManager.getConnection(url);

Quando si connette a un database utilizzando JDBC, sono disponibili diverse opzioni di autenticazione per garantire un accesso sicuro. Un modo per accedere è tramite l’utilizzo di username e password. Ciò consente all’utente di accedere al database, verificando la sua identità e prevenendo accessi non autorizzati.

Oltre all’utilizzo di username e password, la crittografia SSL/TLS può proteggere la comunicazione tra il client e il server del database. Questa tecnologia cripta i dati tra client e server, impedendo che vengano visualizzati da terzi. La crittografia SSL/TLS mantiene i Suoi dati di accesso e gli altri dati al sicuro da hacker.

È possibile rendere le connessioni JDBC più sicure utilizzando username/password e crittografia SSL/TLS. Questo aiuta a ridurre il rischio di accessi non autorizzati e violazioni dei dati. L’implementazione di queste misure di sicurezza è importante per proteggere i database e le informazioni sensibili dalle potenziali minacce.

Compatibilità con DBeaver

Gli utenti possono utilizzare DBeaver, un popolare strumento di gestione dei database, con CockroachDB. Per connettere DBeaver al Suo cluster CockroachDB, segua questi passaggi:

  1. Installi DBeaver sul Suo sistema.
  2. Crei una nuova connessione di database in DBeaver.
  3. Selezioni “CockroachDB” come tipo di database.
  4. Fornisca i dettagli di connessione necessari, come l’host, la porta, il nome del database e le credenziali di autenticazione.

DBeaver consente di visualizzare i Suoi database CockroachDB e di eseguire varie operazioni sui database utilizzando la sua interfaccia intuitiva. È inoltre possibile eseguire query SQL con DBeaver.

DBeaver utilizza il driver JDBC PostgreSQL per connettersi a CockroachDB. Tuttavia, non tutte le funzionalità di PostgreSQL potrebbero essere disponibili o supportate da CockroachDB. CockroachDB mira a mantenere un’elevata compatibilità con PostgreSQL, ma potrebbero esserci alcune differenze in termini di funzionalità o sintassi. Discuteremo la compatibilità tra PostgreSQL e CockroachDB in alcuni paragrafi.

Quando si lavora con CockroachDB in DBeaver, è possibile utilizzare la sintassi SQL standard di PostgreSQL e i comandi supportati da CockroachDB. L’editor SQL di DBeaver e le altre funzionalità di gestione dei database funzioneranno in modo integrato con CockroachDB, consentendo di interagire in modo efficiente con i Suoi database.

CockroachDB in Applicazioni Python

Per gli sviluppatori Python, CockroachDB fornisce una libreria Python che semplifica le interazioni con il database. Per iniziare ad utilizzare la libreria Python di CockroachDB, la installi utilizzando pip:

$ pip install psycopg2-binary

Ecco un esempio di connessione a CockroachDB ed esecuzione di una semplice query SQL utilizzando la libreria 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 libreria Python di CockroachDB supporta varie operazioni, inclusa l’esecuzione di istruzioni SQL, la gestione delle transazioni e il recupero dei risultati delle query.

Si noti, inoltre, che è disponibile anche psycopg3.

Ha Notato psycopg?

CockroachDB si basa su PostgreSQL. Come Redshift, CockroachDB imita la funzionalità di PostgreSQL e può svolgere la maggior parte degli stessi compiti tramite SQL. Funziona bene con strumenti, driver e librerie PostgreSQL, pertanto gli sviluppatori che conoscono PostgreSQL possono utilizzarlo facilmente.

Le persone utilizzano psycopg2 per connettersi a CockroachDB in Python poiché è un adattatore PostgreSQL ampiamente utilizzato per Python. Poiché CockroachDB è compatibile con PostgreSQL, può utilizzare psycopg2 per stabilire una connessione e interagire con i database CockroachDB.

Per connettersi a CockroachDB utilizzando psycopg2, può utilizzare il formato standard dell’URL di connessione PostgreSQL. Basta specificare l’host, la porta, il nome del database e i dettagli di autenticazione. La compatibilità di CockroachDB con il protocollo wire di PostgreSQL consente a psycopg2 di comunicare senza interruzioni con CockroachDB.

Gli sviluppatori Python possono utilizzare facilmente CockroachDB nelle loro applicazioni sfruttando la sua compatibilità con PostgreSQL e utilizzando la libreria psycopg2. Ciò consente loro di beneficiare della sua architettura distribuita e scalabile.

Cluster Serverless di CockroachDB

Un cluster Serverless di CockroachDB è una versione completamente gestita e ospitata nel cloud di CockroachDB fornita da Cockroach Labs. Può utilizzare CockroachDB senza dover gestire autonomamente l’infrastruttura.

Utilizzi l’interfaccia da linea di comando “ccloud” per connettersi al cluster serverless. Poiché si è appena effettuato l’accesso al sistema cloud, al momento non sono presenti cluster. Può creare un nuovo cluster nella console cloud di CockroachDB basata sul web (richiede login) oppure utilizzando questo strumento da linea di comando.

Suggerimenti Avanzati e Miglioramenti alla Sicurezza

Compatibilità con PostgreSQL: Cosa Funziona e Cosa No

Sebbene CockroachDB sia in gran parte compatibile con PostgreSQL, alcune funzionalità non sono supportate o si comportano in modo diverso. Di seguito è riportata una rapida matrice di compatibilità per aiutarLa a pianificare l’integrazione.

FunzionalitàPostgreSQLCockroachDBNote
Ricerca full-textAttualmente non supportata in CockroachDB.
Procedure memorizzateSupporto limitato alle UDF solamente.
Tipo di dato SERIALUtilizzi unique_rowid() o UUIDs al suo posto.
CTE e funzioni di finestraPrincipalmente compatibili e stabili.

Connessioni JDBC e Python Sicure Tramite DataSunrise

Se sta distribuendo CockroachDB in produzione, specialmente per carichi di lavoro regolamentati, instradare le connessioni tramite un proxy di sicurezza come DataSunrise La aiuta a centralizzare i controlli di accesso e gli audit.

jdbc:postgresql://proxy.datasunrise.local:5432/defaultdb?sslmode=require

Per Python con psycopg2:

conn = psycopg2.connect("postgresql://user:[email protected]:5432/defaultdb?sslmode=require")

Quando utilizzato con DataSunrise, ogni query a CockroachDB viene registrata, analizzata e, opzionalmente, mascherata in tempo reale — ideale per i casi d’uso di conformità.

Checklist per la Sicurezza in Produzione

  • ✅ Utilizzi sslmode=verify-full in tutte le stringhe di connessione
  • ✅ Applichi l’autenticazione con certificato client in CockroachDB
  • ✅ Ruoti regolarmente i certificati client (integre con HashiCorp Vault o AWS Secrets Manager)
  • ✅ Utilizzi DataSunrise come reverse proxy per applicare le politiche di audit e mascheramento
  • ✅ Eviti la modalità --insecure in qualsiasi ambiente non locale

Conclusione

Questo articolo discute i diversi metodi per connettersi a CockroachDB. Questi metodi includono l’utilizzo del CockroachDB CLI, JDBC e della libreria Python di CockroachDB. Abbiamo inoltre discusso della compatibilità con DBeaver, un popolare strumento di gestione dei database.

Può utilizzare queste opzioni per lavorare facilmente con i Suoi cluster CockroachDB. Potrà anche eseguire comandi SQL e gestire i Suoi database distribuiti. CockroachDB offre diverse opzioni di client tra cui scegliere; esistono vari modi per accedere a CockroachDB.

Questi includono l’utilizzo di un’interfaccia da linea di comando, strumenti GUI come DBeaver e librerie come la libreria Python di CockroachDB.

Per strumenti user-friendly e flessibili per la sicurezza del database, audit e conformità, consideri di esplorare le soluzioni offerte da DataSunrise. DataSunrise solitamente funziona come reverse proxy per proteggere il Suo database quando alcune applicazioni client vi interagiscono. Il nostro team sarà lieto di fornirLe una demo online per mostrare le capacità del nostro prodotto.

Successivo

Snowflake Data Governance

Snowflake Data Governance

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]