Graphdatenbanken abfragen mit ExRam.Gremlinq
18.01.2021, 00:00 Uhr
Gremlin plus LINQ ist Gremlinq
Ein Object-Graph-Mapper überträgt das bewährte ORM-Konzept auf Graphdatenbanken.
Der Begriff „NoSQL“ ist längst nicht mehr das Buzzword, das es vor gut einem Jahrzehnt einmal war: Zu umfassend etabliert haben sich mittlerweile die verschiedenen Ansätze, Datenmodelle jenseits des Relationalen und damit auch neue Abfragesprachen zu beschreiben. Die einfachste Ausprägung eines NoSQL-Konzepts ist sicherlich der Key-Value Store, der eine ansonsten unstrukturierte Sammlung von Schlüssel-Wert-Paaren darstellt. Etwas komplexer wird es bei einem Document Store, der sich darauf versteht, im Prinzip beliebig strukturierte Daten (Dokumente) zu indizieren und zu speichern. Den beiden genannten Konzepten gemeinsam ist, dass die kleinste Informationseinheit, die sie betrachten, zwar eine lokale Struktur aufweist, eine globale Struktur aber nicht gegeben ist – eine Menge an gespeicherten Schlüssel-Wert-Paaren oder Dokumenten steht ansonsten nicht zwingend in einer Beziehung zueinander. Graphbasierte NoSQL-Ansätze schließen nun diese Lücke, indem sie die gespeicherten Datenstrukturen aufeinander verweisen lassen, sie also miteinander in Relation setzen. Auf konzeptueller Ebene ergeben sich demnach Knoten und Kanten. Schlussendlich gibt es noch eine ganze Reihe weiterer Konzepte, auf die hier nicht eingegangen werden soll.
Relativ neu ist nun die wachsende Beliebtheit, derer sich gerade im „Database as a Service“-Bereich der graphbasierte Ansatz erfreut – so hat Microsoft mit Azure Cosmos DB erst seit Ende 2017 eine gehostete Graphdatenbank im Angebot [1], ebenso verhält es sich mit IBMs Variante des Graphdatenbanksystems JanusGraph [2]. Amazon Web Services ist mit Neptune seit 2018 am Start [3].
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar