我有些困惑,不知道哪种方法对我的应用程序最好。目前为止,我需要在neo4j独立模式(RestGraphDatabase)和嵌入模式(EmbeddedGraphDatabase)之间进行选择(RemoteGraphDatabase尚未能够用于生产)。
REST的优点:
-> 不同的服务可以访问neo4j数据库(例如:我有一个服务负责A、B和C类型的节点,第二个服务负责D和H类型的节点,可以连接D节点到A节点)。通过这种方式,我可以拥有干净的领域结构。每个服务只负责其自己的领域节点。我可以更新每个服务,而不必关闭整个应用程序。
-> 我可以使用不同的语言(如PHP)访问neo4j数据库
缺点: - 性能不如嵌入式图形数据库(因为neo4j服务器和服务在同一台机器上,延迟不那么大)。 - 没有事务支持
我的问题是: 选择独立服务器是一个好决定吗?还是应该使用嵌入式服务器并将服务混合成一个大型服务?可能在没有事务支持的情况下运行大型(复杂)应用程序吗?