Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Eine Graphdatenbank speichert und fragt Daten als Netzwerk von Knoten (Entitäten) und Kanten (Beziehungen). Dieser Ansatz unterscheidet sich vom Tabellen- und Zeilenformat relationaler Datenbanken. Graph-Datenbanken zeichnen sich durch die Modellierung und Analyse hoch vernetzter Daten aus, wie z. B. soziale Netzwerke, Wissensdiagramme, Empfehlungssysteme und Betrugserkennung.
In diesem Artikel werden Diagrammdatenbanken und relationale Datenbanken verglichen. Es hebt wichtige Unterschiede, Anwendungsfälle und Vorteile in der Analyse hervor. Verwenden Sie diese Informationen, um zu entscheiden, ob Graph in Microsoft Fabric oder eine relationale Datenbank für Ihre spezifischen Anforderungen verwendet werden soll.
Kernunterschiede zwischen Graph- und relationalen Datenbanken
- Graph-Datenbanken: Organisieren Sie Daten als Knoten und Kanten, und speichern Sie Beziehungen explizit. Das Durchlaufen von Verbindungen ist effizient und häufig unabhängig von der Gesamtgröße des Datasets.
- Relationale Datenbanken: Organisieren von Daten in Tabellen mit Zeilen und Spalten. Verwenden Sie JOIN-Vorgänge, um Beziehungen zur Abfragezeit abzuleiten. Für hoch verbundene Daten können diese Vorgänge komplex und langsam werden.
Abfragen von Beziehungen: Verknüpfungen im Vergleich zu Traversalen
Relationale Datenbankabfragen: Fremdschlüssel verknüpfen Daten in verschiedenen Tabellen. Zum Abrufen verwandter Daten verwenden relationale Datenbanken JOIN-Vorgänge, um Zeilen aus mehreren Tabellen zu kombinieren. Für einfache Beziehungen funktionieren JOINs einwandfrei. Bei tiefen oder variablen Verbindungen können sie jedoch teuer und komplex werden.
Graph-Datenbankabfragen: Speichern Sie Beziehungen als Kanten, sodass Sie direkt von einem Knoten zu einem anderen wechseln können. Graph-Abfragen können effizient mehrere Sprünge und komplexe Muster durchqueren. Graph-Abfragesprachen wie Graph Query Language (GQL) erleichtern das Ausdrücken von Traversen und Musterabgleichen.
Example:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (gleichwertig):
SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';
Hinweis
GQL ist eine ISO-standardisierte Abfragesprache für Graphdatenbanken. Es wurde für eine effiziente Abfrage und Manipulation von diagrammstrukturierten Daten entwickelt. Die gleiche internationale Arbeitsgruppe, die SQL überwacht, entwickelt sie.
Leistungsauswirkungen für Graph- und relationale Datenbanken
Graph-Datenbanken können relationale Datenbanken bei Abfragen übertreffen, die viele Verknüpfungen oder unbekannte Tiefen umfassen, insbesondere für Tiefenverknüpfungsanalysen oder rekursive Abfragen. Relationale Datenbanken zeichnen sich aufgrund jahrzehntelanger Optimierung bei set-orientierten Arbeitsabläufen und Aggregationen aus. In der Graph-Komponente von Microsoft Fabric ist das Abfragemodul für die Durchgängigkeit und das Musterabgleichen von groß angelegten Grafen optimiert, die in OneLake gespeichert sind.
Skalierungsüberlegungen für Graph- und relationale Datenbanken
- Relationale Datenbanken: skalieren in der Regel vertikal (größere Computer) und können sie horizontal durch Sharding und Replikation skalieren. Das Sharding hoch verbundener Schemas ist komplex und kann zu netzwerkübergreifendem Overhead führen.
- Graph-Datenbanken: Vertikal und horizontal skalieren. Verteilte Graphdatenbanken partitionieren Graphen auf verschiedenen Computern, um verwandte Knoten für effiziente Traversale zusammenzuhalten.
Wann eine Graphdatenbank oder eine relationale Datenbank verwendet werden soll
Verwenden Sie eine Diagrammdatenbank, wenn:
- Ihre Daten sind stark vernetzt und beziehungsschwer (soziale Netzwerke, Wissensdiagramme und Empfehlungen).
- Sie müssen eine unbekannte oder variable Anzahl von Netzwerk-Hops überwinden.
- Das Schema ist im Wandel oder halbstrukturiert.
- Sie möchten intuitive Modellierung für Domänen, in denen Beziehungen zentral sind.
Verwenden Sie eine relationale Datenbank, wenn:
- Ihre Daten sind meist tabellarisch oder passen zu einer gut definierten Struktur.
- Ihre Abfragen umfassen umfangreiche Aggregationen oder Vorgänge mit großen Datenmengen.
- Sie verfügen über vorhandene Tools oder Expertise, die mit SQL abgestimmt sind.
Hybride Ansätze mit Graph- und relationalen Datenbanken
Viele Projekte verwenden beide Arten von Datenbanken: eine relationale Datenbank für kerntransaktionale Daten und eine Graphdatenbank für spezielle Analyse- oder Netzwerkanalysefeatures. In Microsoft Fabric können Sie Graph mit anderen Datenspeichern im selben Arbeitsbereich kombinieren, sodass Sie sowohl relationale als auch graphischen Funktionen nutzen können, ohne Daten zwischen separaten Systemen zu verschieben.