iX 2/2016
S. 112
Wissen
NoSQL-Datenbanken
Aufmacherbild

Einführung in Apache Cassandra

Gut verteilt

Facebook, Apple, Streamingdienste und zahllose weitere Unternehmen setzen auf Cassandra als hochverfügbare, massiv skalierbare Datenbank. Doch auch kleinere Anwender können sie für ihre Web- und Mobilanwendungen nutzen.

Mit Cassandra verknüpfte der ursprüngliche Entwickler Facebook zwei wesentliche Ziele: Datenvolumen und Durchsatz müssen mit dem Unternehmen wachsen können und die Datenbank muss selbst beim Ausfall eines ganzen Rechenzentrums weiterlaufen. Cassandras Hauptmerkmal ist die lineare Skalierbarkeit hinsichtlich Performance und Datenvolumen. Produktive Installationen reichen von drei bis zu mehr als tausend Cassandra-Nodes in mehreren Rechenzentren ohne einen „Single Point of Failure“. Allein Apple betreibt mehr als 100 000 Cassandra-Nodes, die über 10 Petabyte speichern und viele Millionen Datenbanktransaktionen pro Sekunde erledigen. Ebenfalls zu den größten Anwendern zählen Netflix mit mehr als 7000 Nodes, Reddit und Spotify.

Netflix testet ständig die Zuverlässigkeit von Cassandra und der eigenen Software mit sogenannten „Chaos Monkeys“, die zufällig ausgewählte Cassandra-Nodes im produktiven System regelrecht abschießen. Sogar den Ausfall kompletter Regionen und Rechenzentren testet das Filmportal regelmäßig (siehe „Onlinequellen“, [a]). Lese- und insbesondere Schreibzugriffe erledigt Cassandra extrem schnell. Ein Commit-Log gewährleistet die Konsistenz der Daten.