Verteilte Datenbank: CockroachDB erreicht Version 1.0

Der Name der Open-Source-Datenbank, die auf eine horizontale Skalierung in der Cloud ausgelegt ist, impliziert die Überlebensfähigkeit. Ausfälle fängt das horizontal verteilte System wohl automatisch ab. Dabei steht die Konsistenz an erster Stelle.

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
CockroachDB in Version 1.0 veröffentlicht
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Cockroach Labs hat nach zwei Jahren Entwicklungszeit das erste Major Release von CockroachDB vorgestellt, womit der Blogbeitrag sie als bereit für den produktiven Einsatz bezeichnet. Die Macher haben bewusst das englische Wort für Kakerlake als Namen für die Open-Source-Datenbank gewählt, da sie ein Überlebenskünstler sein soll, die Ausfälle einzelner Knoten automatisch abfängt.

CockroachDB ist eine verteilte SQL-Datenbank, die auf einen transaktionalen und konsistenten Key-Value Store baut. Dass die Macher unter anderem Google Spanner als Inspiration hatten, verwundert wenig: Zu den Gründern von Cockroach Labs gehören ehemalige Google-Mitarbeiter.

Durch die horizontale Skalierung über Rechenzentrumsgrenzen hinweg, soll die Cloud-native Datenbank alle Ausfälle mit möglichst geringer Latenz abfangen, ohne dass Administratoren eingreifen müssen. Sie setzt auf streng konsistente ACID-Transaktionen (Atomicity, Consistency, Isolation und Durability). Die Datenbank ist darauf ausgelegt, selbsttätig zu skalieren, und die einzelnen Knoten kommunizieren über ein Gossip-Protokoll um das Balancing auszuhandeln.

Der Blogbeitrag betont, dass CockroachDB zwar hochverfügbar ist, dabei aber die Konsistenz in den Vordergrund stellt. Dazu setzt sie auf eine zensusbasierte Replikation, die drei oder mehr aktive Kopien verwendet. Da weder die Schreib- noch die Lesevorgänge inkonsistent sein dürfen, benötigt sie kein Konflikt-Management.

Die Datenbanksprache CockroachDB SQL bleibt so nah wie möglich an Standard-SQL, das sie um spezielle Funktionen erweitert. Die Macher haben eine Seite zusammengestellt, die zusammenfasst, welche SQL-Features die Datenbank unterstützt beziehungsweise welche Alternative sie für fehlende Funktionen anbietet.

CockroachDB kann mit dem PostreSQL Wire Protocol arbeiten und lässt sich mit PostgreSQL-Client-Treibern verwenden. Die Macher haben laut der FAQ die Anbindung an Go, Python, Ruby, Java, JavaScript beziehungsweise Node.js, C/C++, Clojure, PHP und Rust getestet.

Weitere Details lassen sich dem Blogbeitrag sowie der Produktseite entnehmen. Zu den bisherigen Kunden zählen unter anderem Baidu und Heroic Labs. Neben der Open-Source-Variante, die auch auf GitHub zu finden ist, bietet Cockroach Labs ein Enterprise-Produkt mit zusätzlichem Support an. Außer von der ersten Hauptversion berichtet der Blogbeitrag darüber, dass Cockroach Labs in einer zweiten Finanzierungsrunde insgesamt 27 Millionen US-Dollar erhalten hat. (rme)