Herkömmliche Datenbanken sind relationale Datenbanken, die Daten in Zeilen und Spalten speichern und die Möglichkeit betonen, die Daten zu denormalisieren und mit Primär- und Fremdschlüsseln zu verknüpfen. Dies ist gut geeignet für traditionelle Anwendungsfälle wie eine Kunden- und Auftragsdatenbank zum Speichern und Nachverfolgen Ihrer Kunden, des Inventars, der Produkte und der Artikel, die der Kunde gekauft hat track.
Graphdatenbanken lösen ein anderes Problem, sie betonen die Beziehungen zwischen den Daten in großen verbundenen Netzwerken und ermöglichen die Speicherung, Modellierung und Abfrage dieser neuen Datensätze und Anwendungsfälle. Wir werden den Kontext und einige der Beispielanwendungsfälle beschreiben, in denen eine Graphdatenbank besser geeignet ist als eine relationale Datenbank.
Was ist eine Graphdatenbank?
Graphdatenbanken bieten einen beziehungsorientierten Ansatz zum Speichern und Abfragen von Daten. Sie speichern Daten in einer logischen Weise, die das reale Netzwerk darstellt, und priorisiert die Darstellung, Auffindbarkeit und Wartbarkeit von Datenbeziehungen.
Graphdatenbanken verwenden Graphstrukturen für semantische Abfragen mit Knoten, sogenannten Vertices, Edges und Properties, um Daten darzustellen und zu speichern.
- Scheitel - repräsentiert ein reales Objekt wie einen Film oder eine Person.
- Kante - stellt eine Beziehung zwischen zwei Knoten dar.
- Eigenschaften - ähnlich wie Felder in einem Tablet, aber flexibler. Kann auf eine Kante oder einen Scheitelpunkt angewendet werden.
Graphdatenbanken können mit graphorientierten Sprachen wie sparkql abgefragt werden, die geeignet sind, Probleme in großen Graphdomänen auszudrücken.
Beliebteste Graphdatenbanken
Es gibt Dutzende von Open-Source- und kommerziellen Graphdatenbanken, aber die derzeit beliebteste Graphdatenbank ist eindeutig Neo4j, eine Open-Source-Graphdatenbank, die von ihren Entwicklern als ACID-konforme Transaktionsdatenbank mit nativer Graphspeicherung und -verarbeitung beschrieben wird described.
Andere beliebte Graphdatenbanken sind OrientDB (ein in Java geschriebenes Open-Source-NoSQL-Datenbankverwaltungssystem), ArangoDB (ein von der triAGENS GmbH entwickeltes natives Multi-Modell-Datenbanksystem), MarkLogic (eine Multi-Modell-Datenbank, die für NoSQL-Geschwindigkeit und -Skalierbarkeit entwickelt wurde) und AllegroGraph (ein Closed-Source-Triplestore zum Speichern von RDF-Triples), um nur einige zu nennen.
Anwendungsfälle für Graphdatenbanken
Graphdatenbanken sind überall dort einsetzbar, wo Datenbeziehungen in Echtzeit wertvoll sind:
- Soziale Netzwerke - Der vielleicht typischste Anwendungsfall für eine Graphdatenbank sind soziale Netzwerke mit ihren komplexen Beziehungen und Benutzeraktivitäten.
- Entdeckung eines Betruges - Um Betrug in Echtzeit aufzudecken, ist eine schnelle Analyse der Datenbeziehungen unabdingbar, und Graphdatenbanken bieten die nötige Leistung.
- Wissensgraphen - Wissensgraphen werden von Suchmaschinen und Unternehmen gleichermaßen verwendet und sammeln Informationen aus einer Vielzahl von Quellen, was ein besseres Digital Asset Management und einen einfacheren Informationsabruf ermöglicht.
- IT-Netzwerkanalyse - Das Management von Netzwerken und IT-Infrastrukturen dreht sich um komplexe Abhängigkeiten, und Graphdatenbanken sind für diesen Anwendungsfall von Natur aus besser geeignet als relationale Datenbanken.
- Empfehlungen - Unternehmen können Graphdatenbanken verwenden, um ausgeklügelte Empfehlungsmaschinen zur Personalisierung von Produkten, Inhalten und Dienstleistungen zu betreiben.
- Identitätsmanagement - Graphdatenbanken ermöglichen eine effiziente Verfolgung der Benutzeraktivität sowie schnelle Autorisierungen und Asset-Management.
Fazit
Graphdatenbanken lösen die heutigen Datenherausforderungen, indem sie sich nicht nur auf Daten, sondern auch auf die Verbindungen zwischen einzelnen Datenbankeinträgen konzentrieren. Sie haben zahlreiche Anwendungsfälle und sind sowohl als Community-getriebene Softwareprodukte als auch als kommerzielle Software mit Enterprise-Grade-Support erhältlich.