对于我的应用程序的最佳解决方案,我有点困惑。正如我迄今为止所看到的,我必须在neo4j独立版(RestGraphDatabase)和EmbeddedGraphDatabase(RemoteGraphDatabase尚未用于生产用途)之间进行选择。Neo4j服务器与嵌入式
优点REST:
- >不同的服务可以访问的Neo4j DB(样品:我有一个服务,负责种A的节点,B和C的第二服务负责节点d和H并可以将D节点连接到A节点)。这样我就有了干净的域名结构。每个服务只负责其自己的域节点。我可以更新每个服务,不必关闭我的整个应用程序。
- >我可以访问不同语言(PHP)
缺点的Neo4j的DB: - 性能是不是作为一个EmbeddedGraphDatabase好(因为Neo4j的服务器和服务都在同一台机器上的延迟不那么大)。 - 没有交易
我的问题: 这是一个很好的决定去独立的服务器?或者,我应该使用嵌入式服务,并将服务混合成一个大型服务?是否可以在没有事务支持的情况下运行大型(复杂)应用程序?
我想补充一点,REST-API(用两个Python库进行测试)对于大数据集(我们导入10 GB,因此甚至不是一个真正庞大的数据集)有严重的性能问题。我们使用了批量导入程序,但经过一定限制后,服务器几乎被阻塞。 有关于该问题的公开讨论,但我还没有意识到解决方案。 一般来说,我会建议所有繁重的嵌入式设置。 – Bouncner
@Bouncner三年之后,你知道这是否仍然如此?大约与您同时我们也注意到这个性能问题,但自那以后就没有用过。 –