LDBC nebula vs neo4j

上周简单的手动测了ldbc的short query,对比了neo4j和nebula,发现nebula效果不太好https://discuss.nebula-graph.com.cn/t/topic/12098。

nebula调优

后来对nebula进行了一些调优

  • storage 打开 query concurrency
  • storage block cache设置为64G
  • 导数后进行手动compact

测试配置

这周对nebula和neo4j继续对比测试了ldbc的complex query,对结果有一些疑问,想拿来讨论一下

测试结果

neo4j数据导入后,数据存储大小134G,创建索引后总大小154G
nebula数据导入并创建索引,手动compaction后,125G

时间单位:秒


*query7 nebula是跑出了错误,没有进行重跑

根据结果可以发现,同一个query中neo4j基本上最大时间都高于nebula,但是在ic1,ic3,ic5,ic9,ic10,ic11中,neo4j的最小时间远低于nebula,同时平均时间也低于nebula,推测是neo4j的page cache效果比nebula的block cache更好。

还有一些比较奇怪的地方在于,nebula有几个query跑的远慢于neo4j,比如ic3,ic5,ic12等,还没有进行具体的分析

nebula的ic14特别快,但看到 https://github.com/vesoft-inc/ldbc_snb_interactive_implementations/tree/nebula1.2.0/nebula 中的readme里最下面的配置里ic10和14都设置为了false,是nebula对ic10和ic14的实现有什么问题吗?

请求社区大佬指导QAQ

1 个赞

我们对 数据的schema做了一些处理,会影响一些语句的执行,数据的导入和测试,这部分近期会整理一个文档开源出来

1 个赞

希望官方能给个官方测试结果以及一些分析,我最近刚开始弄ldbc的内容,感觉还是比较复杂,希望以后能多交流探讨