DataSunrise erreicht AWS DevOps Kompetenz Status in AWS DevSecOps und Überwachung, Protokollierung, Performance

CockroachDB-Client

CockroachDB-Client

Einführung

Wenn Sie mit Datenbanken arbeiten, ist der richtige Client entscheidend für eine effiziente Verwaltung und Interaktion. Dieser Beitrag demonstriert den Prozess der Verbindung zu CockroachDB. Wir werden die Verwendung der CockroachDB-Clients und Client-Treiber wie “cockroach sql”, JDBC und der Python-Bibliothek behandeln. Außerdem besprechen wir die Möglichkeit, DBeaver mit CockroachDB zu verwenden.

Dieser Artikel ist besonders für Anfänger geeignet, die mit CockroachDB beginnen.

CockroachDB-Kommandozeilenclient

Der CockroachDB-SQL-Client wird auch als CockroachDB CLI bezeichnet. Der Kommandozeilenclient ist ein Werkzeug, mit dem Sie mithilfe von SQL-Befehlen im Terminal mit einer CockroachDB arbeiten können. Er ermöglicht es Ihnen, eine Verbindung zu einem CockroachDB-Server herzustellen, SQL-Abfragen auszuführen und Datenbanken über die Kommandozeile zu verwalten.

Zu den Hauptmerkmalen des CockroachDB-SQL-Clients gehören:

  1. Der SQL-Client verfügt über eine interaktive Shell zum Eingeben und Ausführen von SQL-Anweisungen einzeln. Dadurch können Sie Daten in Ihren CockroachDB-Datenbanken einfach erkunden und bearbeiten.
  2. Batchmodus: Sie können den SQL-Client auch im Batchmodus verwenden, in dem Sie SQL-Anweisungen aus einer Datei ausführen können. Dies ist nützlich, um Skripte zu starten oder eine Reihe von SQL-Anweisungen in einem Durchgang auszuführen.
  3. Datenbankverwaltung: Der SQL-Client unterstützt Sie bei der Verwaltung von Datenbanken, indem er das Erstellen von Datenbanken, Tabellen, Indizes und Benutzern ermöglicht. Er erlaubt auch das Ändern oder Löschen von Datenbankobjekten.
  4. Abfrageausführung: Sie können SELECT, INSERT, UPDATE und DELETE verwenden, um Daten in Ihren CockroachDB-Datenbanken abzufragen und zu ändern.
  5. Transaktionskontrolle: Mit dem SQL-Client können Sie Transaktionen verwalten, indem Sie Befehle wie BEGIN, COMMIT und ROLLBACK verwenden. Diese Befehle können sowohl in Skripten als auch in interaktiven Sitzungen genutzt werden.

Um den CockroachDB-CLI zu starten, befolgen Sie diese Schritte:

  1. Installieren Sie CockroachDB auf Ihrem System.
  2. Öffnen Sie ein Terminal und führen Sie den Befehl cockroach sql aus.
  3. Stellen Sie eine Verbindung zu Ihrem CockroachDB-Cluster über die entsprechenden Verbindungsparameter her.

Hier ein Beispiel für die Verbindung zu einem lokalen CockroachDB-Cluster:

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

Sobald die Verbindung hergestellt ist, können Sie SQL-Anweisungen ausführen und Ihre Datenbanken mithilfe des CockroachDB-CLI verwalten.

Verbindung mittels JDBC

CockroachDB unterstützt die Verbindung über JDBC-Treiber, sodass Sie es in verschiedene Anwendungen und Tools integrieren können. Um die Verbindung über JDBC herzustellen, müssen Sie den CockroachDB-JDBC-Treiber in die Abhängigkeiten Ihres Projekts aufnehmen. Hier ein Beispiel zur Herstellung einer JDBC-Verbindung:

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

Bei der Verbindung zu einer Datenbank über JDBC stehen mehrere Authentifizierungsoptionen zur Verfügung, um einen sicheren Zugriff zu gewährleisten. Eine Möglichkeit, sich anzumelden, besteht darin, einen Benutzernamen und ein Passwort zu verwenden. Dadurch kann die Identität des Benutzers überprüft und unbefugter Zugriff verhindert werden.

Neben der Verwendung von Benutzernamen und Passwort kann eine SSL/TLS-Verschlüsselung die Kommunikation zwischen dem Client und dem Datenbankserver schützen. Diese Technologie verschlüsselt Daten zwischen Client und Server, sodass Dritte keinen Zugriff darauf haben. SSL/TLS-Verschlüsselung hält Ihre Anmeldedaten und Daten vor Hackern sicher.

Sie können JDBC-Verbindungen sicherer gestalten, indem Sie Benutzernamen/Passwort und SSL/TLS-Verschlüsselung verwenden. Dies hilft, das Risiko von unbefugtem Zugriff und Datenlecks zu verringern. Die Implementierung dieser Sicherheitsmaßnahmen ist für Organisationen wichtig, um ihre Datenbanken und vertraulichen Informationen vor potenziellen Bedrohungen zu schützen.

DBeaver-Kompatibilität

Benutzer können DBeaver, ein beliebtes Datenbankverwaltungstool, mit CockroachDB verwenden. Um DBeaver mit Ihrem CockroachDB-Cluster zu verbinden, befolgen Sie diese Schritte:

  1. Installieren Sie DBeaver auf Ihrem System.
  2. Erstellen Sie in DBeaver eine neue Datenbankverbindung.
  3. Wählen Sie “CockroachDB” als Datenbanktyp aus.
  4. Geben Sie die erforderlichen Verbindungsdetails an, wie Host, Port, Datenbankname und Authentifizierungsdaten.

DBeaver ermöglicht es Ihnen, Ihre CockroachDB-Datenbanken anzusehen und verschiedene Datenbankaufgaben über seine benutzerfreundliche Oberfläche auszuführen. Sie können auch SQL-Abfragen mit DBeaver durchführen.

DBeaver verwendet den PostgreSQL-JDBC-Treiber, um eine Verbindung zu CockroachDB herzustellen. Allerdings sind nicht alle PostgreSQL-Funktionen möglicherweise verfügbar oder werden von CockroachDB unterstützt. CockroachDB strebt eine hohe Kompatibilität mit PostgreSQL an, jedoch kann es Unterschiede in der Funktionalität oder Syntax geben. Wir werden in einigen Absätzen die Kompatibilität zwischen PostgreSQL und CockroachDB besprechen.

Wenn Sie mit CockroachDB in DBeaver arbeiten, können Sie die standardmäßige PostgreSQL-SQL-Syntax und -Befehle nutzen, die von CockroachDB unterstützt werden. Der SQL-Editor und andere Funktionen zur Datenbankverwaltung in DBeaver arbeiten nahtlos mit CockroachDB zusammen, sodass Sie effizient mit Ihren Datenbanken interagieren können.

CockroachDB in Python-Anwendungen

Für Python-Entwickler stellt CockroachDB eine Python-Bibliothek bereit, die die Interaktion mit Datenbanken vereinfacht. Um die CockroachDB-Python-Bibliothek zu nutzen, installieren Sie sie mit pip:

$ pip install psycopg2-binary

Hier ein Beispiel für die Verbindung zu CockroachDB und das Ausführen einer einfachen SQL-Abfrage mit der Python-Bibliothek:

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)

Die CockroachDB-Python-Bibliothek unterstützt verschiedene Operationen, einschließlich des Ausführens von SQL-Anweisungen, der Handhabung von Transaktionen und dem Abrufen von Abfrageergebnissen.

Wir sollten an dieser Stelle darauf hinweisen, dass auch psycopg3 verfügbar ist.

Ist Ihnen psycopg aufgefallen?

CockroachDB basiert auf PostgreSQL. Wie Redshift. CockroachDB ahmt die Funktionalität von PostgreSQL nach und kann die meisten der gleichen Aufgaben mit SQL ausführen. CockroachDB arbeitet gut mit PostgreSQL-Tools, -Treibern und -Bibliotheken zusammen, sodass Entwickler, die PostgreSQL kennen, CockroachDB problemlos nutzen können.

Menschen verwenden psycopg2, um in Python eine Verbindung zu CockroachDB herzustellen, da es ein weit verbreiteter PostgreSQL-Adapter für Python ist. Da CockroachDB mit PostgreSQL kompatibel ist, können Sie psycopg2 nutzen, um eine Verbindung aufzubauen und mit CockroachDB-Datenbanken zu interagieren.

Um mit psycopg2 eine Verbindung zu CockroachDB herzustellen, können Sie das Standardformat der PostgreSQL-Verbindungs-URL verwenden. Geben Sie einfach Host, Port, Datenbanknamen und Authentifizierungsdetails an. Die Kompatibilität von CockroachDB mit dem Wire-Protokoll von PostgreSQL ermöglicht es psycopg2, nahtlos mit CockroachDB zu kommunizieren.

Python-Entwickler können CockroachDB in ihren Anwendungen problemlos nutzen, indem sie von der PostgreSQL-Kompatibilität profitieren und die psycopg2-Bibliothek verwenden. Dadurch profitieren sie von der verteilten und skalierbaren Architektur.

CockroachDB Serverless Cluster

Ein CockroachDB Serverless Cluster ist eine voll verwaltete, cloudbasierte Version von CockroachDB, die von Cockroach Labs bereitgestellt wird. Sie können CockroachDB nutzen, ohne sich um die Infrastruktur kümmern zu müssen.

Verwenden Sie das Befehlszeilentool ‘ccloud‘, um eine Verbindung zum Serverless Cluster herzustellen. Da Sie sich gerade im Cloud-System angemeldet haben, gibt es noch keine Cluster. Sie können einen neuen Cluster in der webbasierten CockroachDB Cloud-Konsole (Login erforderlich) oder mit diesem Befehlszeilentool erstellen.

Erweiterte Tipps und Sicherheitsverbesserungen

PostgreSQL-Kompatibilität: Was funktioniert und was nicht

Obwohl CockroachDB weitgehend mit PostgreSQL kompatibel ist, werden einige Funktionen entweder nicht unterstützt oder verhalten sich anders. Unten finden Sie eine kurze Kompatibilitätsmatrix, die Ihnen bei der Planung Ihrer Integration hilft.

FunktionPostgreSQLCockroachDBHinweise
VolltextsucheDerzeit in CockroachDB nicht unterstützt.
Gespeicherte ProzedurenNur eingeschränkte Unterstützung von UDFs.
SERIAL-DatentypVerwenden Sie stattdessen unique_rowid() oder UUIDs.
CTEs und FensterfunktionenWeitgehend kompatibel und stabil.

Sichere JDBC- und Python-Verbindungen über DataSunrise

Wenn Sie CockroachDB in der Produktion einsetzen, insbesondere für regulierte Arbeitslasten, hilft das Weiterleiten von Verbindungen über einen Sicherheitsproxy wie DataSunrise, Zugriffskontrollen und Audits zu zentralisieren.

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

Für Python mit psycopg2:

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

Wenn DataSunrise verwendet wird, wird jede Abfrage an CockroachDB in Echtzeit protokolliert, analysiert und bei Bedarf maskiert – ideal für Compliance-Anwendungen.

Sicherheitscheckliste für die Produktion

  • ✅ Verwenden Sie in allen Verbindungsstrings sslmode=verify-full
  • ✅ Erzwingen Sie die Client-Zertifikatsauthentifizierung bei CockroachDB
  • ✅ Rotieren Sie Client-Zertifikate regelmäßig (Integration mit HashiCorp Vault oder AWS Secrets Manager)
  • ✅ Verwenden Sie DataSunrise als Reverse-Proxy zur Durchsetzung von Audit- und Maskierungsrichtlinien
  • ✅ Vermeiden Sie den --insecure-Modus in jeder nicht-lokalen Umgebung

Fazit

Dieser Artikel behandelt verschiedene Methoden, sich mit CockroachDB zu verbinden. Diese Methoden beinhalten die Verwendung des CockroachDB-CLI, von JDBC und der CockroachDB-Python-Bibliothek. Zudem haben wir die Kompatibilität zu DBeaver, einem beliebten Datenbankverwaltungstool, besprochen.

Mit diesen Optionen können Sie problemlos mit Ihren CockroachDB-Clustern arbeiten. Sie können auch SQL-Befehle ausführen und Ihre verteilten Datenbanken verwalten. CockroachDB bietet verschiedene Client-Optionen, aus denen Sie wählen können. Es gibt mehrere Möglichkeiten, auf CockroachDB zuzugreifen.

Dazu gehören die Verwendung einer Befehlszeilenschnittstelle, GUI-Tools wie DBeaver und Bibliotheken wie die CockroachDB-Python-Bibliothek.

Für benutzerfreundliche und flexible Werkzeuge zur Datensicherheit, Audit und Compliance sollten Sie die von DataSunrise angebotenen Lösungen in Betracht ziehen. DataSunrise fungiert in der Regel als Reverse-Proxy, um Ihre Datenbank zu schützen, wenn einige Client-Anwendungen damit arbeiten. Unser Team stellt Ihnen gerne eine Online-Demo zur Verfügung, um die Leistungsfähigkeit unseres Produkts zu demonstrieren.

Nächste

Snowflake Data Governance

Snowflake Data Governance

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]