图数据库对比

图的CRUD很丰富,各个产品侧重点也完全不同。
欢迎你在自己的业务场景下评测对比。

想问下hugegraph这边用的是哪个后端? 二度三度关系查询到的数据量级大概是多少?

1 个赞

3种图耗时对比有问题吧,还是语句没有写全。One-Hop Friends Query 和 Two-Hop Friends Query ,HugeGraph 直接用both() 就可以吧,而且返回的是去重后的总数,而其他2种图是返回的顶点吧,而且 Nebula over relation 是确定的边,还是 * ,而且这里不是双向跳跃吧,希望能更加完善一些吧。 现在nebula的文档是真的少,但国内好多大厂推荐,一时不知道改不改,现在用的是janusgraph

1 个赞

您可以移步美团技术团队发的这篇帖子看看 Dgraph,Nebula Graph, HugeGraph 的性能测试: 主流开源分布式图数据库Benchmark
这篇帖子有关于数据批量导入、实时写入、多跳查询这几个维度的对比,希望能帮到您!

2 个赞

测试数据集及测试样本可否提供一下?谢谢 :dizzy_face:
数据库版本,测试语言(java?),nosql,导入方式,样本选取依据,某方法测试结果的评测依据是什么:样本测试次数,最终结果如何选取:avg, p99?
可以把项目分享一下吗?谢谢 谢谢 谢谢 :grinning:

BOSS 直聘最近也发了一篇对比文章,Dgraph VS Nebula Graph,很详细,可以参考一下:图数据库 Nebula Graph 在 Boss 直聘的应用 :slight_smile:

@MasonLi 请 Mason 大佬帮忙解答 :smiley:

可以先提供下测试集,测试样本,建图语句吗?

这个腾讯公司内部的信息,不大可能这样公开吧。

这个不是写错了?一度的怎么是秒级别的呢?

1 你好, 请问下你这是csv文件导入的吗?

  1. 请问下, 我也测试了neo4j和Nebula, 为啥我们的测试结果刚好相反, 多跳查询都是被neo4j吊打

我也是hugegraph的使用者。在你们测试查询共同好友的gremlin语法中,存在了错误,这个命令是无法查询到共同好友的。经过实际测试证实了这一点。

  1. Neo4j是使用admin-import工具导入的,因为亿级别的数据使用LOAD CSV命令是根本无法导入的。
  2. 想问一下你这边对Neo4j有做过什么操作么,Neo4j的版本是否可以提供一下?neo4j的试验是我做的,对于结果数据我有怀疑过,但是多次试验确实结果就是如此。(可见以上mason的部分截图),我不知道是不是neo4j我的使用有不熟悉的地方。
1 个赞

那可否提供正确的写法呢,这个不是我做的,但是应该不至于有这么明显的错误,你实际测试是如何测试的呢?有没有漏建索引或者数据id编码有误呢?

1 个赞

感谢回复。
g.V().has(‘vid’,‘atrr’,‘1111’).bothE().otherV().aggregate(‘x’)是把第一个节点的一度关系好友找到,并聚集在x变量中。紧跟着aggregate(‘x’).has(‘vid’,‘atrr’,‘2222’)表示从x中找到这个实体,而不是全图中找。即,测试的命令变成了从第一个实体(vid:1111)的一度好友中找第二个实体(vid:2222),然后以找到的第二个实体出发,再找一度关系,后续的where判断就失去了意义。
我认为正确的查找为:
g.V().has(‘vid’,‘atrr’,‘1111’).bothE().otherV().as(‘x’).bothE().otherV().where(has(‘vid’,‘atrr’,‘2222’)).select(‘x’)
这里假设好友关系是不知道方向的,所以用了bothE(),实际中可以用outE()、inE()来替代。
我也是刚接触HugeGraph,如有理解错误的地方,欢迎指正探讨。

你好,想问下,为什么边的数量少的时候nebula比neo4j导入数据的速度会慢呢

因为Nebula导入在这里用的是SST导入,这个导入流程是建立在Spark上面的,需要启动Spark、向Yarn申请executor等操作,所以在小批量数据导入的时候,这个资源申请的流程过长,从而导致导入性能的下降,因此只有在大批量的导入场景下,Nebula SST导入模式才有明显的性能优势。

4 个赞

了解了,sst导入模式可以在哪里找到讲解呢,我怎么找不到。有没有链接。另外neo4j使用的导入模式是什么呢,有没有哪里有讲解。感谢

您好,文档里有讲解

另外,我之前分享了一个单机手动试玩 exchange-SST 的文章,其中的 nebula,spark,exchange 都是在容器里跑起来,也可以作为上手参考

1 个赞

感谢,请问如果用nebula-importer的话会不会更快一点呢