NoSQL-Datenbank Apache Cassandra 3 bringt materialisierte Sichten

Die NoSQL-Datenbank Apache Cassandra beschleunigt Abfragen durch materialisierte Sichten, indem die Denormalisierung serverseitig stattfindet.

 –  17 Kommentare
Apache Cassandra 3 bringt materialisierte Sichten

Apache Cassandra ist eine verteilte NoSQL-Datenbank, die auf einige tausend Knoten skaliert. Oft ist ein Cluster auf mehrere Datenzentren verteilt, Redundanz gehört zum Konzept. Abfragen auf einzelne Spalten ohne Partition Key sind eine Herausforderung. Die Verwendung sekundärer Indexe kann zu hohen Latenzen führen, da häufig viele Knoten innerhalb eines Rings angesprochen werden müssen. Die Alternative sind die Client-seitige Denormalisierung und die Verwendung mehrerer Tabellen. Dabei ist derselbe Code für unterschiedliche Clients jeweils neu auszuführen.

Materialisierte Sichten sind ein Prinzip, das in OLAP-Szenarien (Online Analytical Processing) häufig zum Einsatz kommt: Einmal ausgeführte Abfragen werden in der Datenbank abgelegt. Künftige Untersuchung finden auf dieser Datenbasis statt und erfordern damit nicht jedes Mal eine erneute Abfrage über die gesamte Datenmenge. Cassandra nutzt mit Version 3 ein ähnliches Prinzip. Die Denormalisierung erfolgt dabei auf dem Server, der anschließend die Datenmenge für die Clients bereitstellt. Die materialisierten Sichten spiegeln jede Änderung in der Basistabelle wieder. Auch das Schreiben in die Sicht ist möglich, aber aufgrund der benötigten Konsistenzprüfung langsamer.

Zudem spricht der Apache-Blog-Beitrag zum Release der neuen Version von Performance-Optimierungen, verbesserter Datenkonsistenz und einem verringerten Speicherverbrauch. Die unter Apache Lizenz 2.0 verfügbare Open-Source-Datenbank steht auf der Apache-Website zum Download bereit. (rme)