- Verwenden
gremlin
java
api direkt in meiner Anwendung - ein
gremlin-server
Bereitstellen verwendengremlin-driver
api, eine Verbindung zugremlin-server
Welches ist besser? Oder was sind die Vor- und Nachteile?Gremlin JavaAPI vs Gremlin-Server?
gremlin
java
api direkt in meiner Anwendunggremlin-server
Bereitstellen verwenden gremlin-driver
api, eine Verbindung zu gremlin-server
Welches ist besser? Oder was sind die Vor- und Nachteile?Gremlin JavaAPI vs Gremlin-Server?
Ab heute hängt die Antwort zu einem gewissen Grad von Ihrer Umgebung ab. Wenn Sie jemals eine Nicht-JPM-Sprache (Python, C#, Js usw.) verwenden möchten, sollten Sie wahrscheinlich Gremlin Server verwenden, da dies die einzige Möglichkeit ist, Ihre Anwendung zu erstellen. Wenn Sie in der Lage sein möchten, zu anderen Graphendatenbanken zu wechseln und von der aktuell gewählten Datenbank abzuweichen, dann ist die Verwendung von Gremlin Server möglicherweise besser, da nicht alle Graphdatenbanken über die direkte Java-API verfügbar sind zwei, die Gremlin Server einbetten und nur Verbindung über Treiber erlauben).
Also, wenn die Antwort auf diese beiden Fragen ein klares "Nein" sind, dann glaube ich nicht, dass ich Sie davon überzeugen konnte Gremlin Server in Ihre Anwendung aufzunehmen, besonders wenn Sie kein besonders komplexes Projekt haben sorgen um. Es fügt Ihrer Architektur eine weitere Ebene hinzu, die Sie wahrscheinlich lieber vermeiden würden.
Wenn Sie sich für die Einbettung entscheiden, sollten Sie die Traversal-API über die Struktur-API verwenden. Denken Sie daran, dass die Struktur-API für Graph-Provider gedacht ist, die die TinkerPop-Interfaces für ihr Grafiksystem implementieren. Mit anderen Worten, für diesen Code:
graph = TinkerGraph.open()
g = graph.traversal()
bevorzugen Verwendung der API von g
über die von zur Abfrage und Mutieren des Graph vorgesehen.
Ich glaube jedoch, dass die Zukunft von TinkerPop eine feste Abhängigkeit von "Gremlin Server" hat (die zukünftige Inkarnation mag anders aussehen, wäre aber eine "Server-Komponente") als etwas, das weniger eine Frage sein wird um die Benutzer einzuschließen. Es wäre großartig, wenn dieser Entscheidungspunkt entfernt und vereinfacht würde.