© Excellent backgrounds/Shutterstock.com
Quelloffenes Daten-CMS auf Neo4j-Basis - Teil 1: Grundlagen

Structr bringt Struktur in den Graphen


Das Interesse an Graphdatenbanken wie Neo4j steigt. Doch ist der Einstieg in die Materie oft schwierig, stehen einem doch manchmal Ansichten und Gewohnheiten aus jahrzehntelangem Umgang mit relationalen Datenbanken, einstmals De-facto-Standard, im Weg. Dass man die wunderbare Welt der Graphen auch ohne Graphentheorie im Lebenslauf erschließen kann, zeigt das neuartige Daten-CMS Structr, das sich dem Thema von einer ganz anderen Seite nähert und die Erstellung graphbasierter Anwendungen ermöglicht – sogar ohne Programmierkenntnisse.

Nicht erst seitdem NoSQL-Datenbanken in zahlreichen Variationen das Ökosystem der Datenbanken bevölkern und mit ihrer Vielfalt die bis dahin recht eintönige Systemlandschaft wohltuend bereichern, erfreuen sich Graphdatenbanken wachsender Beliebtheit. Als eine der ersten Graphdatenbanken begeistert Neo4j schon seit 2007 die damals noch kleine Graphszene. Die Version 1.0 erschien 2010, zu einer Zeit, in der manche andere Datenbank noch nicht einmal konzipiert war.

Ausgereift: Die Graphdatenbank Neo4j

Entsprechend ausgereift und inzwischen durchaus weit verbreitet ist Neo4j heute in einer kontinuierlich weiterentwickelten Version 2.1 verfügbar, und das demnächst erscheinende Release 2.2 verspricht interessante neue Funktionen und vor allem weitere Performanceverbesserungen, u. a. durch die Umstellung auf einen neuen Query Planner im Kern.

Artikelserie

Teil 1: Konzeptionelle Grundlagen, genereller Aufbau von Structr, in Java geschriebene Komponenten im Kern des Systems

Teil 2: Funktionsweise und Aufbau des REST-Servers und des dynamisch kompilierten Schemas, Structr als JSON/REST Backend, Integration mit einem Clientwebframework wie AngularJS

Teil 3: Benutzeroberfläche, Einsatzmöglichkeiten als Content-Management-System, komplexere Datenbankanwendungen

Grund für die rasante Entwicklung von Graphdatenbanken ist neben der wichtigen Eigenschaft, dass die Abfragegeschwindigkeit in Graphdatenbanken nicht durch Join- oder Map/Reduce-Operationen limitiert ist, vor allem auch die Tatsache, dass das Graphmodell sehr anschaulich ist. Die Datenmodellierung, der grundlegende Prozess der Abbildung eines Ausschnitts der realen Welt auf ein davon abstrahiertes Modell, der der Softwareentwicklung vorausgeht bzw. zumindest vorausgehen sollte, beginnt meistens mit einer Whiteboard-Zeichnung bestehend aus Kreisen und Pfeilen: dem ersten Graph des Projekts (Abb. 1).

morgner_1.tif_fmt1.jpgAbb. 1: Datenmodell auf Whiteboard

Die Übertragung in eine Graphdatenbank ist dann e...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang