Gremlin JavaAPI 与 Gremlin-Server?
Gremlin JavaAPI vs Gremlin-Server?
- 直接在我的申请中使用
gremlin
java
api
- 部署
gremlin-server
,使用 gremlin-driver
api,连接到 gremlin-server
哪个更好?或者有什么优缺点?
截至今天,答案在某种程度上取决于您的环境。如果您打算使用非 jvm 语言(python、C#、js 等),那么您应该使用 Gremlin Server,因为这将是构建应用程序的唯一方法。如果您想以最佳位置切换到其他图形数据库并远离您当前选择的图形数据库,那么使用 Gremlin Server 可能会更好,因为并非所有图形数据库都可以通过直接 Java API(至少有两个,嵌入了 Gremlin 服务器并且只允许通过驱动程序连接)。
因此,如果这两个问题的答案是响亮的 "no",那么我不认为我可以说服您在您的应用程序中包含 Gremlin Server,特别是如果您没有非常好的复杂的项目担心。它在您的体系结构中添加了您可能希望避免的另一层。
如果您选择嵌入,请务必在结构 API 上使用遍历 API。回想一下,结构 API 适用于为其图形系统实现 TinkerPop 接口的图形提供者。换句话说,对于这段代码:
graph = TinkerGraph.open()
g = graph.traversal()
更喜欢使用 g
提供的 API 而不是 graph
提供的查询和改变图形。
不过,我确实相信 TinkerPop 的未来确实非常依赖 "Gremlin Server"(未来的化身可能看起来不同,但会是某种 "server component"),因为它会更少向用户提出的问题。很高兴看到这个决策点被删除和简化。
- 直接在我的申请中使用
gremlin
java
api - 部署
gremlin-server
,使用gremlin-driver
api,连接到gremlin-server
哪个更好?或者有什么优缺点?
截至今天,答案在某种程度上取决于您的环境。如果您打算使用非 jvm 语言(python、C#、js 等),那么您应该使用 Gremlin Server,因为这将是构建应用程序的唯一方法。如果您想以最佳位置切换到其他图形数据库并远离您当前选择的图形数据库,那么使用 Gremlin Server 可能会更好,因为并非所有图形数据库都可以通过直接 Java API(至少有两个,嵌入了 Gremlin 服务器并且只允许通过驱动程序连接)。
因此,如果这两个问题的答案是响亮的 "no",那么我不认为我可以说服您在您的应用程序中包含 Gremlin Server,特别是如果您没有非常好的复杂的项目担心。它在您的体系结构中添加了您可能希望避免的另一层。
如果您选择嵌入,请务必在结构 API 上使用遍历 API。回想一下,结构 API 适用于为其图形系统实现 TinkerPop 接口的图形提供者。换句话说,对于这段代码:
graph = TinkerGraph.open()
g = graph.traversal()
更喜欢使用 g
提供的 API 而不是 graph
提供的查询和改变图形。
不过,我确实相信 TinkerPop 的未来确实非常依赖 "Gremlin Server"(未来的化身可能看起来不同,但会是某种 "server component"),因为它会更少向用户提出的问题。很高兴看到这个决策点被删除和简化。