Kakerlake in den Wolken: CockroachDB as a Service gestartet

Das Unternehmen Cockroach Labs bringt ein eigenes Cloud-Angebot der auf horizontale Skalierung optimierten Datenbank.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Kakerlake in den Wolken: CockroachDB as a Service gestartet
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Cockroach Labs startet mit CockroachCloud ein Angebot für eine Database as a Service (DBaaS). Die derzeit als Beta verfügbare Plattform ist eine verwaltete Variante für CockroachDB. Als Plattformanbieter können Kunden zum Start zwischen Amazon Web Services (AWS) und der Google Cloud wählen.

CockroachDB ist eine verteilte SQL-Datenbank, die im Mai 2017 in Version 1.0 erschienen war. Sie skaliert horizontal über die Grenzen von Rechenzentren hinweg. Ihren Namen verdankt sie den Kakerlaken als Überlebenskünstlern: CockroachDB ist darauf ausgelegt, die Ausfälle einzelner Knoten automatisch abzufangen, ohne dass Administratoren eingreifen müssen.

Die Datenbank bietet streng konsistente ACID-Transaktionen (Atomicity, Consistency, Isolation und Durability). CockroachDB skaliert selbsttätig und die einzelnen Knoten kommunizieren über ein Gossip-Protokoll um das Balancing auszuhandeln.

CockroachDB setzt auf das PostgreSQL Wire Protocol, sodass viele PostgreSQL-Clienttreiber funktionieren sollten. Hinsichtlich der Programmiersprachen existieren Treiber für C, C++, C#, Clojure, Go, Java, Node.js, PHP, Python, Ruby und Rust. Für TypeScript gibt es zwar keinen Treiber, aber die Anbindung ist über die objektrelationale Abbildung (Object-relational Mapping, ORM) TypeORM möglich.

Für die Einrichtung der DBaaS wählen Kunden zunächst den Cloud-Provider aus, wobei sie die Wahl zwischen der Google Cloud und AWS haben. Anschließend suchen sie eine passende geographische Region und die Größe der Knoten. Azure ist zumindest zum Start nicht als Cloud-Plattform verfügbar, aber CockroachDB hat für die Zukunft die Ausweitung auf weitere Cloud-Anbieter angekündigt.

Das Verwalten der Server, die Updates der Datenbank und das Erstellen von Backups sind Bestandteil des Serviceplans. Die Datensicherung geschieht täglich als vollständige Backups und zusätzlich stündlich als inkrementelle. Hinsichtlich des Funktionsumfang entspricht CockroachCloud dem Enterprise-Angebot von CockroachDB, das neben den Basisfunktionen der Open-Source-Variante unter anderem die Verschlüsselung gespeicherter Daten (Encryption at Rest), Change Data Capture (CDC) und Role Based Access Control (RBAC) bietet.

Jedes CockroachCloud-Cluster ist in einer Virtual Private Cloud (VPC) untergebracht und mit Firewalls abgesichert. Für die Zugriffskontrolle setzt Cockroach Labs auf IP-Whitelists. Die Authentifizierung der Knoten erfolgt über Zertifikate, die der Clients über Nutzernamen und Passwörter. Der Netzwerkverkehr ist über TLS abgesichert, und die gespeicherten Daten inklusive der Backups sind standardmäßig verschlüsselt.

Für die Verbindung erstellt CockroachCloud einen eindeutigen String. Zusätzlich muss die IP des Clients auf der Whitelist stehen.

(Bild: Cockroach Labs)

Zum Testen empfiehlt Cockroach Labs das Anlegen eines einzelnen Knotens, für produktive Umgebungen sollten Kunden mindestens drei einrichten. Dabei liegen die Knoten jeweils in eigenen geographischen Zonen, um Ausfälle einzelner Zonen abzufangen.

Zum Start ist CockroachCloud als geschlossene Beta verfügbar. Interessierte Unternehmen können sich für die Teilnahme auf der Produktseite registrieren. Informationen zum geplanten Preismodell sind jedoch weder dort noch im Blogbeitrag mit der Ankündigung des DBaaS-Angebots zu finden.

Mit der dem Service-Angebot steht Cockroach Labs in direkter Konkurrenz unter anderem zu der seit Mai 2017 verfügbaren DBaaS Google Spanner. Die Datenbank gilt nicht nur als Inspiration für CoackroachDB, sondern zu den Gründern von Cockroach Labs gehören ehemalige Google-Mitarbeiter. (rme)