【发布时间】:2013-12-02 17:48:46
【问题描述】:
如果这是一个微不足道的问题,我深表歉意,但我想知道 Spring Data Graph 作为嵌入式数据库上的 REST 客户端有哪些优点/缺点? 我正在使用 neo4j。
谢谢 卡梅尔
【问题讨论】:
标签: neo4j spring-data spring-data-neo4j
如果这是一个微不足道的问题,我深表歉意,但我想知道 Spring Data Graph 作为嵌入式数据库上的 REST 客户端有哪些优点/缺点? 我正在使用 neo4j。
谢谢 卡梅尔
【问题讨论】:
标签: neo4j spring-data spring-data-neo4j
这完全取决于您的用例。有利有弊。
优点 REST:
->不同的服务可以访问neo4j DB(示例:我有一个服务负责A,B和C类节点。第二个服务负责节点D和H,可以将D节点连接到A -节点)。这样我就有了干净的域结构。每个服务只负责自己的域节点。我可以更新每个服务,而不必关闭我的整个应用程序。
-> 我可以从不同的语言 (PHP) 访问 neo4j 数据库
缺点: - 性能不如 EmbeddedGraphDatabase(因为 neo4j 服务器和服务在同一台机器上,所以延迟不是很大)。 - 没有交易
服务器的另一个专业人士是网络管理员/可视化。
您还有更多选择。您可以使用嵌入式 graphdb 以获得高性能,并且只运行一些嵌入式服务,并使用自定义的、以域为中心的远程(REST 或其他)API 为其他服务公开图形数据库。
同样可以通过使用 Neo4j 服务器并添加一些对性能更为关键的服务作为服务器插件或扩展来实现,这些服务还能够公开更适合您的用例的自定义远程 API。
我会开始使用嵌入式图形数据库来开发您的服务,如果您以后想将某些端点暴露给其他服务,切换到 Neo4j 服务器很容易。
在 REST-API 中,每个请求都有一个事务,对于较大的操作,API 中有一个批处理操作。
【讨论】: