neo4j - Spring Data Graph 作为 REST 客户端 - 有哪些优点?

标签 neo4j spring-data spring-data-neo4j

如果这是一个微不足道的问题,我很抱歉,但我想知道 Spring Data Graph 作为嵌入式数据库上的 REST 客户端有哪些优点/缺点? 我正在使用 neo4j。

谢谢 卡梅尔

最佳答案

这完全取决于您的用例。各有利弊。

优点休息:

-> 不同的服务可以访问 neo4j DB(示例:我有一个服务负责类型 A、B 和 C 的节点。第二个服务负责节点 D 和 H,并且可以将 D 节点连接到 A -节点)。这样我就有了干净的域结构。每个服务只负责自己的域节点。我可以更新每项服务,而不必关闭整个应用程序。

->我可以从不同的语言(PHP)访问neo4j数据库

缺点: - 性能不如嵌入式图形数据库那么好(因为 Neo4j 服务器和服务位于同一台机器上,因此延迟不是那么大)。 - 没有交易

服务器的另一个优点是网络管理/可视化。

您还有更多选择。您可以拥有嵌入式 graphdb 以实现高性能,并且仅运行某些嵌入式服务,并使用自定义的、以域为中心的远程(REST 或其他)API 来为其他服务公开图形数据库。

通过使用 Neo4j 服务器并添加一些对性能更关键的服务作为服务器插件或扩展,也可以实现同样的效果,这些服务还能够公开更适合您的用例的自定义远程 API。

我将开始使用嵌入式图形数据库来开发您的服务,如果您想稍后将某些端点公开给其他服务,那么切换到 Neo4j 服务器非常容易。

在 REST-API 中,每个请求有一个事务,对于较大的操作,API 中有一个批处理操作。

关于neo4j - Spring Data Graph 作为 REST 客户端 - 有哪些优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20067082/

相关文章:

types - 如何确定neo4j中节点内的属性值类型?

neo4j - Cypher/Neo4J 中的集合是什么?

java - ArangoDB:Spring 数据和图形模型支持

neo4j - 如何避免neo4j的死锁

Neo4j 如何避免 super 节点

neo4j - 匹配满足两个或多个关系(AND)关系的 Neo4j 节点的表达式

java - Neo4j通过特定属性获取Node Java API

java - Couchbase 在 N1QL 参数化查询中使用了错误的索引

spring - 如何模拟 Spring Data 和单元测试服务

tomcat - 使用在 Tomcat 上运行的 Spring Data Neo4j 4 + AspectJ LTW 进行延迟加载