Big Data: Cassandra 2.0 unterstützt Trigger und Transaktionen

Seit fünf Jahren wird Cassandra unter dem Dach der Apache Software Foundation entwickelt, ursprünglich gestartet wurde das Projekt von Facebook. Heute kommt die verteilte NoSQL-Datenbank unter anderem bei Adobe, dem Cern, eBay, HP, IBM, Instagram, Netflix und Sony zum Einsatz.
Cassandra skaliert nahezu linear mit einer wachsenden Zahl an Cluster-Nodes und kann so Tausende von Anfragen pro Sekunde abwickeln. Eine zentrale Steuerungseinheit benötigt sie nicht, was für eine hohe Ausfallsicherheit sorgen soll.
Mit Cassandra 2.0 führen dessen Entwickler zahlreiche neue Funktionen ein, darunter schlanke Transaktionen (lightweight transactions), Trigger und Erweiterungen für Cassandras an SQL angelehnte Abfragesprache CQL, dank derer Entwickler schneller zu Ergebnissen kommen sollen, da es einfacher wird, von relationalen Datenbanken auf Cassandra umzustellen.
Mit den schlanken Transaktionen lassen sich Operationen linearisieren, ähnlich der Serialisierung bei relationalen Datenbanken, was Konflikte bei gleichzeitigen Anfragen verhindern soll. Trigger(öffnet im neuen Fenster) erlauben es, performancekritischen Code nah an den Daten auszuführen und vereinfachen die Integration mit ereignisgetriebenen Frameworks wie Storm. CQL unterstützt in der neuen Version Cursor und bietet eine verbesserte Index-Unterstützung. Zudem wurde die sogenannte Compaction verbessert, was Performanceeinbrüche bei Leseanfragen verhindern soll. Die Compaction löscht zuvor zur Löschung markierte Daten wirklich und gibt den entsprechenden Speicherplatz wieder frei. Das ist notwendig, da Cassandra beim Schreiben von Daten einen Append-Only-Ansatz verfolgt, neue Daten also ausschließlich ans Ende einer Datei anfügt, um so eine möglichst konstant hohe Schreibrate zu gewährleisten. Die neue Single-Pass-Compaction(öffnet im neuen Fenster) soll dabei etwa doppelt so schnell sein wie die bisherige.
Zudem sollen Query-Timeouts verhindert werden, indem Requests an andere replizierende Nodes weitergereicht werden, wenn sie von einem Node nicht schnell genug beantwortet werden können. Ein eigener Thrift-Server auf Basis von LMAX Disruptor soll für geringere Latenzen und einen erhöhten Datendurchsatz sorgen.
Apache Cassandra 2.0 steht unter der Apache License v2.0 und kann unter cassandra.apache.org(öffnet im neuen Fenster) heruntergeladen werden. Unter anderem die Firma Datastax(öffnet im neuen Fenster) bietet eine kommerzielle Cassandra-Distribution an.