2017-05-10 7 views
1
  1. Verwenden gremlinjava api direkt in meiner Anwendung
  2. ein gremlin-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?

Antwort

2

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.

Verwandte Themen