CockroachDB: Die Datenbank, die alles überleben soll
Wie Küchenschaben soll die Datenbank CockroachDB auch die schlimmsten Ausfälle überleben, daher der Name. Das Team von ehemaligen Google-Entwicklern reimplementiert dafür Ideen von Spanner, das bei Google intern Mapreduce und Bigtable ablöst.

"Primäres Designziel ist globale Konsistenz sowie die Überlebensfähigkeit, daher der Name", heißt es in der kurzen Beschreibung von CockroachDB. Cockroaches, auf Deutsch Schaben, überleben je nach Art viel höhere Strahlungsdosen als Menschen, mehrere Minuten Sauerstoffentzug oder auch das Abtrennen des Körpers. Die Datenbank soll dementsprechend Ausfälle der "Festplatten, Maschinen, Racks und Rechenzentren" mit minimaler Latenz aushalten.
Spanner als Ideengeber
Das skalierbare und verteilte Datenbanksystem wird, wie das US-Magazin Wired berichtet, derzeit fast ausschließlich von ehemaligen Google-Angestellten in deren Freizeit entwickelt. Wohl auch wegen dieser gemeinsamen Vergangenheit verwendet CockroachDB einige Ideen, die Google in Spanner benutzt, das Mapreduce und Bigtable ablösen soll. Die wohl herausragendste Funktion von Spanner, die Synchronisation dank verschiedener Zeitstempel, soll aber in CockroachDB so nicht umgesetzt werden.
4 Exabyte Speicher
Allerdings sollen wie mit den Verzeichnissen von Spanner in CockroachDB beliebige sogenannte Zonen für Daten angelegt werden können. Dadurch sollen sich Speichergeräte oder auch die Lage der Rechenzentren auswählen lassen, um "die Leistung und Erreichbarkeit der verteilten Datenbank zu optimieren".
Grundlegend basiert CockroachDB auf einer Key-Value-Map, wobei sowohl für den Schlüssel als auch für den dazugehörigen Wert Byte-Strings verwendet werden und kein Unicode. Mit diesem Ansatz ließen sich theoretisch 4 Exabyte an Daten speichern, so die Entwickler. Einzelne Intervalle der Map speichern ihre Daten im darunterliegenden RocksDB und werden auf mindestens drei verschiedene Knoten verteilt, die idealerweise in weit voneinander getrennten Rechenzentren stehen. Die Konsistenz der Daten soll über den Raft-Algorithmus erhalten bleiben.
Noch befindet sich CockroachDB eigenen Aussagen zufolge in der Alphaphase, da viele wichtige Eigenschaften noch nicht benutzbar sind. Dazu gehören Transaktionen, der Raft-Konsens oder auch das Auftrennen der Intervalle der Map. Wenn die Arbeiten abgeschlossen sind, sollen Nutzer die Datenbank über einfache SQL-Anfragen als höchste Abstraktionsschicht steuern können.
CockroachDB wird hauptsächlich in der von Google initiierten Programmiersprache Go geschrieben und steht unter der Apache-Lizenz über Github zum Download bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Nicht erweitern, sondern verwenden.
Oder Sie kannten CDB gar nicht, oder es fehlte Feature 20193, oder Sie hatten einfach...
Man kann zwar die DBs jetzt nicht wirklich vergleichen, aber wenn man folgende Fakten...