2014-10-17 88 views
1

neo4j数据库应该在哪种模式下使用嵌入式或休眠服务器?Neo4j rest服务器v/s嵌入式

我的主要问题是:

  1. 性能

  2. 水平扩展(HA,聚类) - 作为重要的应用是非常大的。

  3. 事务支持(在像SDN,Grails的插件,structr等框架)

  4. 部署服务器支持像亚马逊,GrapheneDB等

  5. 容易性的从一个切换到另一个

  6. Scaling(数据库大小)

回答

1

声明:我是其中的一位GrapheneDB

我不是嵌入模式的专家,所以我的答案可能有偏差,但我会尽我所能:

  • Embedded是在这个时候比服务器
  • 集群中嵌入为支持更好的性能以及在服务器中
  • 交易支持在两种模式AFAIK中均可用。然而,Spring Data与Rest/server相比目前表现不佳。

从我的POV嵌入式有耦合到您的应用程序/服务器部署的缺点。

还有一个选项,你没有提出,这是使用unmanaged server extensions

使用扩展,你可以得到最好的两个模式:

  • 你写在Java API的顶部您的代码和它的本地执行,所以你得到非常不错的表现。
  • 您可以在服务器模式下运行服务器,使操作更轻松,还可以让您在任何云环境中的单独远程主机上托管。

GrapheneDB支持非托管扩展,它是我们目前推荐的选项,用于需要额外性能的场景。

+0

感谢您的回答。我没有得到非托管服务器扩展,我认为我们没有任何嵌入式neo4j服务器,我们是否需要在非托管服务器扩展模式下单独使用neo4j服务器?我们必须编写哪些类型的代码,是因为查询数据库时我使用的是SDN(spring-data-neo4j)以及本地意味着什么,此代码是否运行在应用程序服务器或数据库服务器本身上。还有一些警告,因为我认为在非托管服务器扩展中编写代码很困难。 – 2014-10-17 06:47:16

+0

GrapheneDB是否支持嵌入模式? – 2014-10-17 13:22:11

+1

服务器扩展是一个小的java函数,可以访问服务器上运行的嵌入式Neo4j数据库,因此可以非常高效地访问图形功能,而无需使用中间的网络层。是的GrapheneDB支持这些扩展。 – 2014-10-17 20:14:13