Cassandra 2.0: Auf dem besten Weg, den NoSQL Hype zu überdauern

Hartmut Schlosser

Die Orientierung an fixen Tabellen-Strukturen ist nicht für alle Datensätze der Informatik optimal. Und so gilt es seit geraumer Zeit, dem „relationalen“ Datenbank-Muster, wie es idealtypisch durch den allgegenwärtigen SQL-Standard repräsentiert wird, Alternativen entgegenzusetzen. Ergebnis sind NoSQL-Datenbanken wie Apache Cassandra, das soeben in der Version 2.0 erschienen ist.

Cassandra wurde bei Facebook entwickelt, 2008 quelloffen zur Verfügung gestellt und seit 2010 als Top-Level-Projekt bei der Apache Foundation gehostet. Es ist am besten als eine Cluster-fähige Mischung aus Key-Value Store und Spalten-orientierter Datenbank zu beschreiben.

In Key/Value-basierten Datenbanken werden Werte unter einem eindeutigen Schlüssel gespeichert. In Cassandra stehen Keys bzw. Nodes für Spalten, die variable Mengen von Elementen enthalten. Der Clou dabei ist, dass die Nodes von Cassandra automatisch auf Server-Cluster verteilt werden können. Ohne programmatische Klimmzüge lassen sich so riesige Datenmengen performant verwalten. Lineare Skalierbarkeit und operationale Einfachheit schreibt sich Cassandra deshalb auf die Fahnen. Eingebaut ist auch eine automatische Daten-Replikation, die für Ausfallsicherheit sorgt. Ob Echtzeit-Transaktionen in Online-Anwendungen oder leseintensive Business-Intelligence-Systeme in der Cloud – Cassandra ist bestens für viele Big-Data-Szenarien gerüstet.

Laut Projektleiter Jonathan Ellis vereinfacht die neue Version 2.0 die Migration von relationalen Datenbanken zu Cassandra. Außerdem arbeitete das Cassandra-Entwicklerteam an zahlreichen Produktivitätsverbesserungen, beispielsweise in der Cassandra Query Language (CQL), die jetzt Cursor und Index Support bietet. Spezielle Trigger ermöglichen es, Performance-kritischen Code enger an relevante Daten zu binden (noch gilt dieses Feature allerdings als experimentell). Mit den „Lightweight Transactions“ lassen sich Operationen, die nicht durch andere unterbrochen werden dürfen, seriell ausführen (man erreicht dadurch eine sogenannte „linearizable consistency“ wie sie in relationalen Systemen gegeben ist). Hinzu kommt eine Thrift-Server-Implementierung auf Basis von LMAX Disruptor sowie „Eager Retries“, also Query-Wiederholungen an replizierte Nodes, wenn beim ersten Query-Versuch die Antwort zu lange auf sich warten lässt.

Cassandra wird mit der 2.0 seine Position im Datenbank-Markt weiter ausbauen, daran besteht kein Zweifel. Bereits jetzt ist Cassandra bei namhaften Organisationen bzw. Projekten wie reddit, Netflix, CERN und Instagram produktiv im Einsatz. DB-engines.com sieht Cassandra neben MongoDB, Redis, Riak und Couchbase auf dem besten Weg, den NoSQL-Hype zu überdauern und unbeschadet aus der früher oder später kommenden Konsolidierung der Systeme hervorzugehen. Erstmals hat DB-engines.com Cassandra in die Top Ten der populärsten Datenbank-Engines aufgenommen. In dem Ranking werden 193 Systeme miteinander verglichen, relationale wie nicht-relationale. Aktuell sieht das Ranking so aus:

  1. Oracle
  2. Microsoft SQL Server
  3. MySQL
  4. PostgreSQL
  5. DB2
  6. MongoDB
  7. Microsoft Access
  8. SQLite
  9. Sybase
  10. Cassandra

Cassandra 2.0 kann unter http://cassandra.apache.org/download/ kostenlos bezogen werden. Details zur neuen Version bieten die Release Notes. Als Einführung in den NoSQL-Bereich ist der JAXenter-Artikel „NoSQL: Wie moderne Datenbanken arbeiten“ von Kai Spichale und Eberhard Wolff zu empfehlen.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.