Frage

Es gibt einige Hype um Graph-Datenbanken . Ich frage mich, warum.

Was sind die möglichen Probleme, die man mit in der heutigen Web-Umgebung konfrontiert werden kann, die unter Verwendung von Graph-Datenbanken gelöst werden kann? Und sind Graph-Datenbanken geeignet für klassische Anwendungen, das heißt kann man als Drop-in verwendet werden, Ersatz für eine relationale Datenbank? Also in der Tat, es ist zwei Fragen in einem.

Verwandte: Hat jemand gebrauchte Graph-basierte Datenbanken (http://neo4j.org/)?

War es hilfreich?

Lösung

Viele relationale Darstellungen von Graphen sind nicht besonders effizient für alle Operationen, die Sie möglicherweise ausführen möchten.

Zum Beispiel, wenn man den angeschlossenen Satz von allen Knoten möge, wo Kanten ein gegebenes Prädikat erfüllen, aus einem gegebenen Knoten beginnen, gibt es keine natürliche Weise in SQL, dass auszudrücken. Wahrscheinlich werden Sie entweder eine Abfrage tun für Kanten mit dem Prädikat, und dann getrennt Kanten lokal ausschließen müssen, oder haben ein sehr ausführliches Gespräch mit dem Datenbankserver eine Reihe von Links auf den nächsten in iterativen Abfragen folgen.

Graphs sind kein genereller Ersatz für relationale Datenbanken. RDB beschäftigt in erster Linie in den Sätzen (Tabellen), während Graphen wegen der „Form“ von Verbindungen in erster Linie interessant sind. Mit relationalen DBs folgen Sie Links von einer vorgegebenen Tiefe (eine feste Anzahl von Verknüpfungen) zwischen den Sätzen, mit den Ergebnissen progressiv gefiltert und gruppiert, während Graphen in der Regel zu willkürlich und rekursiv definierte Tiefe navigiert werden (dh nicht eine vorbestimmte Anzahl von „Joins“) . Sie können entweder missbrauchen die Eigenschaften des anderen übereinstimmen, aber sie werden unterschiedliche Stärken haben.

Andere Tipps

Meiner Meinung nach, Social-Networking-Sites von Graph-Datenbanken profitieren können, weil Graph eine natürliche Art und Weise der Speicherung von Verbindungen zwischen Benutzern ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top