Donnerstag, 24. Mai 2012


Artikel

März 2010 | Artikel

Graphendatenbanken, NoSQL und Neo4j Fortsetzung, Teil 3

Teil 1   Teil 2   Teil 3   

Die Anwendbarkeit und Relevanz der Graphentheorie ist nicht neu. Klassische Probleme wie das Travelling-Salesman-Problem, geodätische Verbindungen zwischen Punkten und Zentralitätsprobleme wie PageRank, HITS und andere sind elegant lösbar durch die Anwendung von Graphalgorithmen, z. B. kürzester Pfad. Jedoch blieb die Anwendung dieser Theorien vielerorts auf die Forschung begrenzt wie etwa mit Pygr, da es in der Praxis keine produktionstauglichen Graphimplementierungen gab. In den letzten Jahren sind jedoch einige Systeme entwickelt worden, die sich für den 24/7-Einsatz eignen, z. B.

  • Neo4j – Open Source (AGPL), Java, Property-Graphenfokus
  • AllegroGraph, Closed Source, RDF-QuadStore
  • Sones – Closed Source, SOAP-Schnittstelle
  • Virtuoso – Closed Source, RDF TripleStore

Die folgende Abbildung zeigt eine grobe Klassifizierung der NoSQL-Kategorien hinsichtlich der Aspekte Skalierbarkeit und Komplexität.

Mehr zum Thema „Scaling to Size vs. Scaling to Complexity“ gibt es bei Emil Eifrems Blogeintrag zu diesem Thema.

Nun sind natürlich Graphendatenbanken nicht die alleinige Lösung für alle Probleme, genauso wenig wie RDBMS und alle anderen Persistenzlösungen. Entscheidend ist vor allem, welche Datenmengen und Datenstrukturen man modellieren will und welche Anforderungen hinsichtlich CAP stehen.

Die Hochskalierbarkeit als einzigen Masstab für die Anwendung von NoSQL-Datenbanken zu machen, ist oft weder notwendig noch wünschenswert, da z. B. Neo4j mit der heutigen Hardware ohne Probleme die Milliarden-Knotengrenze sprengt und so die gesamte Domäne in den meisten Fällen in einem Graph halten kann. Mehr zu Neo4J erfahren Sie im zweiten Teil dieser Artikelserie.

Peter Neubauer ist COO von Neo Technology. Peter ist Mitgründer einer Anzahl Java- und Graph-orientierter Open-Source-Projekte wie Neo4j, Gremlin, LinkedProcess, OPS4J, Qi4j und anderen. Peter ist unter peter@neotechnology.com erreichbar.

Teil 1   Teil 2   Teil 3   

Kommentare