【问题标题】:Neo4J Java Native APIs vs Traversal APIs vs CypherNeo4J Java Native APIs vs Traversal APIs vs Cypher
【发布时间】:2017-04-24 15:41:08
【问题描述】:

有没有人做过 Neo4J Java Native APIs、Traversal APIs 和 Cypher 的性能评估。 从性能的角度来看,上述三个选项中的哪一个会给我带来更好的结果? 另外,对于写操作,我应该使用本机 java API 还是密码。是否有可能在本机 API 中批量执行数据库操作,以便它只访问数据库一次,而不是每次创建节点/关系。

【问题讨论】:

    标签: neo4j cypher neo4j-java-api neo4j-traversal-api


    【解决方案1】:

    您会对此article 感兴趣。但他们测试的主要收获是

    • 核心 API 能够回答大约 2000 个朋友的朋友查询 (我不得不承认在一个非常稀疏的网络上)。
    • Traverser 框架是 比核心 API 慢约 25%
    • 最差的是密码,它的速度较慢 至少一个数量级只能回答大约 100 个 FOAF 每秒查询数。我很震惊,所以我和安德烈斯·泰勒(Andres Taylor)交谈 neo4j 主要为 cypher 工作。他问我哪个neo4j 我使用的版本,我说它是 1.7。他告诉我我应该去看看 1.9。因为 Cypher 变得更加高效。所以我在 neo4j 1.8 和 neo4j 1.9 上运行基准测试,不幸的是 Cypher 在 较新的 neo4j 版本。

    但是,除非在高性能情况下,否则我建议使用 Cypher。 (基本上,它越难使用,它可以越快。平衡开发工作与性能取决于您。)此外,这些数据是旧的,并且 Neo4j 的每次重大更新都带有 Cypher 规划器可以使用的新技巧用于更有效地查询。因此 Cypher 的性能将非常基于 DB 内容和 Neo4j 版本(无论好坏)

    另外,Traversal API 建立在 Core API 之上,Cypher 建立在 Traversal API 之上;所以你可以在 Cypher 中做的任何事情都可以用其他 2 来完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 2017-06-18
      相关资源
      最近更新 更多