Neo4J Java Native API与Traversal API vs Cypher

时间:2016-12-09 08:01:33

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

是否有人对Neo4J Java Native API,Traversal API和Cypher进行了性能评估。 从性能角度来看,上述三个选项中的哪一个会产生更好的结果? 此外,对于写操作,我应该使用Native java API还是cypher。是否有可能在本机API中批量数据库操作,以便它只打一次DB而不是每个节点/关系创建。

1 个答案:

答案 0 :(得分:1)

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

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

但是,除非在高性能情况下,否则我建议使用Cypher。 (基本上使用起来越难,它就越快。你可以平衡开发工作与性能。)此外,这些数据已经过时了,Neo4j的每次重大更新都带有Cypher规划师可以采用的新技巧。用来更有效地查询。所以Cypher的性能将基于数据库内容和Neo4j版本(无论好坏)

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