NoSQL: Apache Cassandra 4.0 mit virtuellen Tabellen und Z Garbage Collector

Die neue Hauptversion soll im Petabyte-Bereich über zahlreiche Cluster skalieren. Sie gilt als bislang stabilstes Release der verteilten NoSQL-Datenbank.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Cassandra-Logo: Apache Software Foundation)

Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Apache Cassandra 4.0 ist ein Jahr nach der Beta nun offiziell erschienen. Version 4 hatte sich drei Jahre lang in der Entwicklung befunden, seither hat das Cassandra-Team über 1000 Bugs behoben. Das verbreitete NoSQL-Datenbank-Verwaltungssystem ist mittlerweile im Petabyte-Bereich skalierbar, laut Herausgebern handelt es sich um das bisher stabilste und konsistenteste Release der Datenbank-Software.

An neuen Funktionen sind Fault Injections und das Zero Copying Streaming hervorzuheben: Damit soll Cassandra 4.0 während des Skalierens (beispielsweise beim Hinzufügen eines neuen Rechenzentrums) die Daten zwischen den Nodes etwa fünfmal schneller streamen als ihre Vorgängerinnen. Laut Releasemeldung sollen große Versionen nun jährlich erscheinen und drei Jahre lang Support erhalten, allerdings wirkt diese Ankündigung angesichts der bisherigen Entwicklungszeiten etwas ambitioniert: So liegt die Beta zur aktuellen Version ein Jahr zurück, und die letzte Hauptversion war vor sechs Jahren erschienen. Bislang war das Projekt, das maßgeblich von DataStax vorangetrieben wird, von einer eher inkrementellen Releasepraxis gekennzeichnet.

Laut Anbieter kommt die neue Hauptversion mit Clustern bis zu 1000 Nodes zurecht. Unternehmen wie Amazon, DataStax, Iland und Instaclustr haben offenbar Software und Daten "gespendet", die in die Entwicklung eingeflossen sind. Das Ergebnis soll eine im Vergleich zu den Vorgängerversionen besonders robuste Version des Datenbanksystems sein: Laut Entwicklungsteam stehen Cassandra für künftige Builds keine neuen Funktionalitäten oder bahnbrechende API-Änderungen mehr ins Haus. Zuletzt hatte DataStax einen Kubernetes-Operator für Apache Cassandra vorgestellt und mit dem voll verwalteten Dienst Astra das NoSQL-Datenbanksystem auch als Database as a Service eingeführt.

Global verteilte Systeme haben in Sachen Konsistenz ihre potenzielle Schwachstelle. Cassandra setzt dem einen inkrementellen Reparaturprozess entgegen, mit dem sie Datenreplikate an verschiedenen Speicherorten laufend miteinander synchronisiert. Den Algorithmus für diese Reparaturfunktion hat das Cassandra-Team offenbar grundlegend umgeschrieben, da der Vorgang bisher zu viele Ressourcen beansprucht hat.

Nutzer erhalten in Cassandra 4.x eine Echtzeit-Audit-Protokollierung, um die Vorgänge ihrer Cluster zu überblicken. Über das Logging sollen sie nun besser überwachen können, wer auf Daten zugreift und wann der Zugriff erfolgt. Die Protokollierung soll laut Anbieter die Workload-Performance nur geringfügig belasten. Mit dem neu implementierten fqltool lassen sich die Produktionsauslastungen offenbar erfassen und analysieren. Mit dem ebenfalls neuen CassandraNetworkAuthorizer lassen sich Rollen so konfigurieren, dass Nutzer zum Beispiel nur auf ein einziges Rechenzentrum zugreifen können, auch wenn das Unternehmen Rechenzentren an mehreren Orten betreibt.

Die neue Version legt Systemmetriken und Konfigurationseinstellungen über virtuelle Tabellen offen, die sich wie jede andere Cassandra-Tabelle verarbeiten lassen. Bislang führte der gängige Weg beim Monitoring über Open-Source-Tools wie Cassandra Exporter von Instaclustr oder den Metrics Collector von DataStax, mit den virtuellen Tabellen dürften Betreiber einer Datenbank flexibler bei der Auswahl ihrer Tools sein.

Unterstützung erfährt Apache Cassandra 4.0 durch den Z Garbage Collector (ZGC) von Java 11, mit dem sich Unterbrechungen durch die "Müllabfuhr" künftig auf Millisekunden reduzieren lassen sollen. Dieses Feature wurde seit dem vergangenen Jahr gründlich getestet. Eine Reihe von Tools unterstützen Cassandra 4.x bereits, unter anderem Spring Boot und Spring Data, Quarkus, der Kafka Connector von DataStax, Medusa für die Handhabung von Backups oder der Spark Apache Cassandra Connector.

Apache Cassandra ist Open Source und steht unter der Apache Lizenz 2.0, hinter dem Projekt steht ein Team aus freiwilligen Kontributoren und Kontributorinnen mit einem selbstgewählten Project Management Committee (PMC) für die operativen Entscheidungen im Bereich der Community-Entwicklung und der Produkt-Releasezyklen. Wer Cassandra einsetzen möchte, kann die Software auf der Projekt-Website bei Apache herunterladen und sich über Twitter zum Projekt auf dem Laufenden halten.

(sih)