Menü
Developer

NoSQL-Datenbank ScyllaDB: schnell durch C++ und "shared nothing"

Bis zu zehnmal mehr Durchsatz und geringe Latenz verspricht das durch die Entwicklung des KVM-Hypervisor bekannte Team hinter der nun vorgestellten Cassandra-Alternative.

Von
vorlesen Drucken Kommentare lesen 17 Beiträge
Schnell durch C++ und "shared-nothing"-Prinzip: NoSQL-Datenbank ScyllaDB vorgestellt

Im Rahmen des Cassandra-Summit stellten die Entwickler mit Scylla die nach eigenen Angaben "schnellste spaltenorientierte NoSQL-Datenbank der Welt" vor. Das unter der GNU Affero General Public License v3 geschützte Open-Source-Projekt soll den Durchsatz stark verbessern und dabei mit niedrigen Latenzen wie Redis aufwarten. Da es kompatibel zu Apache Cassandra ist, soll ein Wechsel zwischen den beiden Systemen zudem einfach durchzuführen sein. Zurzeit hat das Projekt den Status einer frühen Beta, das erste stabile Release ist für Januar 2016 geplant.

Die Vorteile des Systems sind wohl in seiner Architektur zu finden, die bei der Umsetzung auf das C++- Framework Seastar zurückgreift. Im Gegensatz zu anderen NoSQL-Datenspeichern ist es in C++ geschrieben und arbeitet nicht mit einer Java Virtual Machine, die etwa durch die Garbage Collection zu Engpässen führen kann. Aber auch Blockierungsvorgänge wirken sich negativ auf die Performance aus, weshalb Scylla nach dem sogenannten "shared-nothing"-Prinzip mit horizontaler Fragmentierung auf Rechnerkernebene statt auf Serverniveau arbeitet. Fragmente auf einem Server sind so unabhängig voneinander, was entsprechende Schutzmechanismen wohl unnötig macht.

Informationen zwischen verschiedenen Rechnerkernen zu teilen macht Blockierungsvorgänge nötig, weshalb bei Scylla (rechts) alle Anfragen auf individuelle Kerne verteilt.

(Bild: ScyllaDB )

Die durch den Einsatz von Scylla errungenen Performance-Gewinne könnten sich beispielsweise auch positiv auf die Infrastrukturkosten eines Unternehmens auswirken, da man weniger Ressourcen brauche, um auf die gewünschte Leistungsfähigkeit zu kommen. Weitere Vorteile sind etwa in Anwendungsfällen aus dem Big-Data-Bereich zu finden, in denen große Datenmengen aus Systemen geholt, verarbeitet und die Ergebnisse zurückgeschrieben werden müssen.

Hinter Scylla verbirgt sich das Team, das bereits für die Entwicklung des KVM Hypervisor verantwortlich zeichnete. Die NoSQL-Datenbank ist Ergebnis seiner Arbeiten als Cloudius Systems, wobei sich das Unternehmen mittlerweile in ScyllaDB umbenannt hat. Apache Cassandra, das als Vorlage diente und als dessen Alternative Scylla positioniert werden soll, ist ein auf Skalierbarkeit und Ausfallsicherheit ausgelegtes Datenbankverwaltungssysten. Es ist in Java verfasst und wird als eine Art Hybrid zwischen spaltenorientierter Datenbank und Key-Value-Speicher gesehen. (jul)