【问题标题】:Neo4j rest server v/s embeddedNeo4j 休息服务器 v/s 嵌入式
【发布时间】:2014-10-17 05:21:42
【问题描述】:

neo4j数据库应该在哪种模式下使用embedded或rest server?

我主要担心的是:

  1. 性能

  2. 水平缩放(HA、集群) - 非常重要,因为应用程序非常大。

  3. 事务支持(在 SDN、Grails Plugin、structr 等框架中)

  4. 支持 amazon、GrapheneDB 等部署服务器

  5. 轻松地从一个切换到另一个

  6. 缩放(数据库大小)

【问题讨论】:

    标签: neo4j spring-data-neo4j


    【解决方案1】:

    免责声明:我是GrapheneDB 的创始人之一。

    我不是嵌入式模式方面的专家,所以我的回答可能有偏见,但我会尽力而为:

    • 此时嵌入式比服务器性能更高
    • 嵌入式和服务器都支持集群
    • AFAIK 两种模式都提供事务支持。然而,Spring Data 目前在 Rest/server 上表现不佳。

    从我嵌入的 POV 来看,缺点是与您的应用程序/服务器部署耦合。

    还有一个您没有提出的选项,即使用unmanaged server extensions

    使用扩展,您可以充分利用这两种模式:

    • 您在 Java API 之上编写代码并在本地执行,因此您可以获得极好的性能。
    • 您可以在服务器模式下运行服务器,使操作更轻松,还可以让您在任何云环境中的单独远程主机上托管。

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

    【讨论】:

    • 感谢您的回答。我没有得到非托管服务器扩展,我认为我们没有任何嵌入式模式下的 neo4j 服务器,我们是否需要非托管服务器扩展模式下的单独 neo4j 服务器?我们必须编写哪种类型的代码,因为要查询数据库我使用的是 SDN(spring-data-neo4j)以及本地的含义,此代码是在应用服务器还是数据库服务器本身上运行。我认为还有一些警告在非托管服务器扩展中编写代码很困难。
    • GrapheneDB 支持嵌入模式吗??
    • 服务器扩展是一个小型 java 函数,它可以访问服务器运行的嵌入式 Neo4j 数据库,因此可以非常有效地访问图形功能,而无需中间的网络层。是的 GrapheneDB 支持这些扩展。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多