Graphdatenbank: Neo4j 4.1 soll sicherer und robuster arbeiten

Aufbauend auf den Neuerungen in Version 4.0 soll das Update noch detailliertere Optionen zum Konfigurieren von Sicherheit und Zugangskontrolle bieten.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Graphdatenbank: Neo4j 4.1 soll sicherer und robuster arbeiten

(Bild: sdecoret / shutterstock.com)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Nachdem das Unternehmen Neo4j zum Jahresbeginn Version 4.0 mit grundlegende Änderungen an der Architektur der Graphdatenbank vorgelegt hatte, folgt nun das Release 4.1, das an die Vorarbeiten für mehr Sicherheit und das erweiterte Berechtigungssystem (Role-Based Access Control – RBAC) anknüpft. Anwender und Administratoren der Graphdatenbank erhalten mit dem Update noch detaillierter abgestufte Optionen zum Konfigurieren von Zugriffsberechtigungen auf die Daten. Erklärtes Ziel dabei ist es, Neo4j für den Einsatz in unternehmenskritischen Anwendungsszenarien noch sicherer und robuster zu gestalten.

Dank RBAC ließen sich bereits bisher Rollen mit individuellen Rechten für das Zugreifen, Lesen und Durchlaufen von Datenbankobjekten definieren. In Neo4j 4.1 erweitert sich die Kontrolle nun auf alle Schreiboperationen, einschließlich des Anlegens, Ersetzens oder Löschens von Objekten. Konfigurierbar sind damit nun auch Rollen, die rein administrative Zugriffsrechte auf die Datenbank erlauben, aber den Zugriff auf die eigentlichen Daten ausschließen. Eine „Operator“-Rolle könnte beispielsweise neue Nutzer anlegen, Datenbanken anbinden sowie Passwörter und Berechtigungen verwalten dürfen, ohne jedoch Zugriff auf die Anwenderdaten zu haben. Damit lässt sich Neo4j 4.1 auch für streng regulierte Einsatzszenarien wie etwa dem Gesundheitswesen vollständig konfigurieren.

Nachdem der für den Embedded-Einsatz von Neo4j wichtige Highly-Available-(HA)-Cluster bereits in Version 3.5 weggefallen war, schlägt der Anbieter mit der Causal-Cluster-Architektur einen neuen Weg ein. Durch Einbetten einer geclusterten Version von Neo4j in ihre Applikation haben Entwicklerinnen und Entwickler nun die Möglichkeit, das auf dem Raft-Protokoll basierende Causal Clustering zu nutzen, um Skalierbarkeit und Hochverfügbarkeit sicherzustellen. Die Applikation werden damit in die Lage versetzt, Leader und Follower in einem Cluster zu identifizieren, um Transaktionen entweder lokal oder an andere Mitglieder des Clusters zu dirigieren beziehungsweise umzuleiten.

Im Zusammenhang mit Causal Clustering ebenfalls neu ist die Leader Transfer Extension, mit der sich die Lastverteilung im Cluster flexibler steuern lässt. In einem Cluster mit einer großen Zahl von Datenbanken ist es in der Regel ratsam, die Leadership-Rolle auf alle Mitglieder des Clusters aufzuteilen, um auch die Schreib-/Lese-Last möglichst gleichmäßig zu verteilen. Mit der neuen Erweiterung lässt sich die Leadership aber auch nur im Bedarfsfall auf andere Cluster-Mitglieder delegieren – beispielsweise, wenn dies in einem rechenzentrumsübergreifenden Cluster notwendig wird, in dem ansonsten ein primäres RZ die Führungsrolle permanent innehat.

Weitere Neuerungen in Neo4j 4.1 betreffen den Query Planner sowie das Memory Management. Die Neuplanung von Abfragen lässt sich nun auch durch simples Überschreiben der Standardvorgaben durchsetzen und die Ausgabe von Cypher-Abfrageplänen bietet eine Reihe zusätzlicher Informationen – darunter die Speicherbelegung. Um mit Blick auf die Performance Transaktionen mit hohem Speicherbedarf besser kontrollieren zu können, stehen Anwendern neue Werkzeuge zur Verfügung. So lässt sich etwa die Verwendung des internen Speichers nun auf Basis einzelner Transaktionen verwalten.

Ein kompletter Überblick aller Verbesserungen und neuen Funktionen in Neo4j 4.1 findet sich in der offiziellen Ankündigung im Unternehmens-Blog. Die neue Version der Graphdatenbank steht ab sofort zum Download parat.

(map)