Graphdatenbank Dgraph erreicht Produktionsreife

Mit Dgraph v1.0 liegt nach gut zweijähriger Entwicklungsarbeit das erste Production Release der Graphdatenbank vor. Dgraph Labs tritt damit gegen etablierte Konkurrenten wie beispielsweise Neo4j und den Spark-Entwickler DataStax an.

In Pocket speichern vorlesen Druckansicht
Neo Technology erhält weitere Finanzspritze
Lesezeit: 3 Min.
Von
  • Matthias Parbel

Die Macher hinter Dgraph sind 2015 angetreten, eine komplett neue, verteilte Graphdatenbank zu entwickeln. Mit einer Startfinanzierung von drei Millionen US-Dollar Risikokapital im Rücken – bereitgestellt von den Investoren Bain Capital Ventures, Atlassian, Blackbird Ventures und AirTree Ventures – bringt das Entwicklerteam nun das erste produktionsreife Release Dgraph v1.0 an den Start.

Entgegen dem klassischen Ansatz, auch der meisten bereits verfügbaren Graphdatenbanken, auf ein Universal Data Set zu vertrauen, baut Dgraph auf einen von Grund auf verteilten Ansatz, der vor allem horizontal besser skalieren soll. Die wachsenden Datensätze werden dabei regelmäßig so verteilt, dass Queries (Joins, Traversals, Filters, Sorts, Paginations) auch ohne den üblichen zentralen Zugriff möglich sind, und ohne die Zahl der Festplattenzugriffe und Netzwerkanfragen überhand nehmen zu lassen. Dgraph verspricht darüber hinaus Lock-freie ACID-Transaktionen und Snapshot Isolation, um die Latenz niedrig zu halten.

Um hohe Verfügbarkeit sicherzustellen, setzt Dgraph auf synchrone Replikation, die auf dem aktuellen Raft-Konsensalgorithmus basiert. So soll sichergestellt werden, dass Queries stets aus dem nächstgelegenen Rechenzentrum erfolgen können, ohne dass Entwickler dies explizit beim Entwurf von Anwendungen definieren müssten. Dgraph garantiert, dass für jede Replica sämtliche bereits erfolgten Schreibvorgänge berücksichtigt werden, sobald eine Leseanforderung eingeht.

Auch nach Veröffentlichung der produktionsreifen Version Dgraph v1.0 steht den Machern der Graphdatenbank noch reichlich Integrationsarbeit bevor. Um beispielsweise die Nutzer konkurrierender Produkte für Dgraph gewinnen zu können, müssen etablierte Graph-Sprachen unterstützt werden – allen voran Open Cypher und Gremlin. Auch die Standardversion von GraphQL soll künftig mit Dgraph genutzt werden können. Das Entwicklerteam arbeitet zudem daran, Dgraph auch als Managed Service anzubieten, um die Hürde für den Einstieg zur Anwendung einer Graphdatenbank zu senken.

Als eine Spielart der sogenannten NoSQL-Datenbanken kommt Graphdatenbanken wachsende Bedeutung zu. Forrester Research zufolge habe sich die Zahl der Graph Inquiries in den zurückliegenden 12 Monaten verdoppelt. Graphdatenbanken modellieren und speichern Daten in Form von Knoten und Kanten. Sie kommen bevorzugt bei Anwendungen zum Einsatz, bei denen die Beziehungen (Kanten) zwischen den Objekten (Knoten) und eine performante Navigation in diesen im Mittelpunkt stehen. Dazu zählen beispielsweise Anwendungen für vernetzte Daten wie in sozialen Netzen, beim Routing, der Ursachenforschung, bei wissenschaftlichen Anwendungen, der Empfehlungsermittlung oder der Verwaltung von komplexen Objektmodellen.

Nähere Informationen zu den Funktionen und Besonderheiten von Dgraph finden sich in der Dokumentation, eine Live-Demo steht ebenfalls zur Verfügung. Das Open-Source-Projekt ist außerdem über GitHub zugänglich. (map)