当前位置: 首页 > 知识库问答 >
问题:

关于从Neo4J嵌入式SDN移动到Neo4J服务器的查询

邢乐
2023-03-14

我对w.r.t从Neo4J Embedded迁移到Neo4J服务器有一些疑问,如果您能提供这些问题的澄清,我将不胜感激。

出身背景

我们的一个应用程序(事件管理平台)一直在嵌入式模式下使用Neo4J(1.8.x),SDN(2.x)与Neo4J 1.8兼容。x,从而利用SDN提供的基础设施(NodeEntity、RelationshipEntity等)。

CUD操作通过Neo4JTemplate路由

几乎每个域对象都有自己的索引(通过@Indexed指定索引名称),我们还使用精确索引、全文索引和空间索引的组合。

我们的遍历并不复杂(最多3-4级)。我们总共有60K个节点,120K个关系,

我们现在希望从嵌入式模式转移到服务器模式,从而使用服务器模式支持的RESTAPI。显然,切换到服务器模式很容易,即切换到SpringRestGraphDatabase,一切都开始正常工作(除了不能发布超过20KB的大文本的问题)(https://github.com/neo4j/neo4j/issues/1232)).

我们手头的问题是性能。我已经浏览了几个讨论REST性能问题的论坛/主题,其中提到了一些关于使调用更细粒度、使用REST批处理api或编写服务器扩展的要点。

询问

>

  • 我正在探索Neo4J-Java-REST绑定,它支持批处理(即。BatchCallback)。沿着这条路线,我现在可以将我所有的操作作为一个批处理组合在一起,但是我必须处理节点对象,而不是SDN映射的域对象。

    这是正确的吗?

    如果是,是否有任何机制可以让我使用SDN处理我的域对象,而不是在rest-batry-api中处理核心实体(节点等)

    我们的大多数域对象创建都涉及以下步骤:

    >

  • 用指定的参数创建实体(比如master)

    建立实体和所有者之间的关系(碰巧是用户)

    一些用例在内部创建额外的实体,并自动建立主实体和这些实体之间的关系

    由于几乎每个实体都有自己的索引,创建的实体被添加到相应的索引中(通过@Indexed)

    所有这些步骤都被认为是原子操作

    对于批处理api(java-REST),它们被认为是原子操作吗?我的印象是,它们是作为批处理发送的,但不一定是作为原子操作执行的。

    我的理解正确吗?如果是,我们如何将它们视为原子?这是否值得我们开发一个服务器扩展?

    此外,是否有从SDN/Embedded迁移到SDN/REST的指导方针/最佳实践?

    正如我们之前使用的1.8一样,我们使用了手动索引,现在使用的是2。我们有我们想要采用的标签。是否有任何指南/工具可用于将手动索引数据移动到标签上?

    有没有关于neo4j发布路线图的网页?

    谢谢

    钱德拉

  • 共有2个答案

    戚正业
    2023-03-14

    关于SDN/REST的使用,我在这里发布了一个问题

    简而言之,SDN/REST还没有准备好生产。

    凌恩
    2023-03-14

    这正是我们从服务器版本迁移到嵌入式版本的原因。性能上的差异确实令人吃惊。我还没有尝试过使用最新版本的neo4j,但我真的希望这已经得到了解决,因为它是一个非常好而且很有前途的图形数据库。很抱歉,我不能为你提供一个你想听到的解决方案,但如果你真的得到了一个,那么我非常渴望听到它。干杯

     类似资料:
    • neo4j数据库应在哪种模式下使用嵌入式或rest服务器? 我主要关注的是: > 性能 水平扩展(HA,集群)-因为应用程序非常大,所以非常重要。 事务支持(在SDN、Grails插件、结构等框架中) 部署服务器支持,如amazon、GrapheneDB等。 易于从一个切换到另一个 缩放(数据库大小)

    • 我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。

    • 我终于能够在我的java应用程序中创建一个服务器实例,使用嵌入式数据库,如下所述。当我在Eclipse上运行它时,它可以正常工作,但这实际上不是我的目的(我的应用程序在其他事情之间,为数据库提供新的节点和关系)。我有一个Neo4j盒子,它应该是我的服务器实例,我想把我的应用程序作为JAR文件部署在那里。这样,我想从那里访问web界面。我已经对它进行了测试:在我的开发机器上运行java应用程序时,同

    • 我有一个neo4j嵌入应用程序与Spring启动实现。 我需要可视化我的图形并执行一些密码查询。 对我来说,完美的解决方案是在不启动neo4j服务器的情况下在某处部署webadmin界面,并将webadmin链接到我的数据文件夹。 这有可能吗? 提前谢谢。当做

    • [neo4j:2.1.3,Windows 7 64位,Java 7] 我希望能够使用neo4j shell连接到java中的嵌入式neo4j数据库。正如这里所建议的那样,添加属性remote\u shell\u enabled=“true”应该可以做到这一点。 我按照建议尝试,但我的shell无法连接到数据库并出现错误 原因:组织。neo4j。内核StoreLockException:无法获取存储

    • 许多人声称SDN版本是3.3.1或4.0.0。RC1应该与neo4j 2.2. x工作,但我不能使它工作。 我有以下spring配置: 这将生成此异常: 查看代码可以清楚地看到:SDN指的是neo4j库中的一个类,它在2.2中被删除。x: 在这种情况下,我有什么选择?