暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

图数据库性能测评:GaiaDB & Neo4j & Hugegraph

原创 小小亮 2021-08-09
1750

1. 测试对象

为测评图数据库 GaiaDB-G的性能情况,我们选取neo4j(开源社区热度较高的数据库),hugegraph(百度安全团队发布的开源数据库),进行性能对比。

  • GaiaDB-G V1.3.1 发布版
  • Neo4j V3.4.10 社区版
  • Hugegraph V0.7.4 开源版,使用rocksdb做存储引擎

2. 测试方法

数据集:采用斯坦福sol-Pokec数据集,约 163w 节点、3062w 关系,作为数据库的基础数据集,参考: http://snap.stanford.edu/data/soc-Pokec.html

场景:基于数据集构造50w的检索query语法,采用发压线程分别为16线程、32线程、64线程情形下,测试下列四中检索场景的性能(qps)并进行对比:

实体检索

图数据库 语法
GaiaDB-G g.query().has(‘sid’,MATCH,’${sid}’).with(‘completion_percentage’)
Neo4j MATCH(n:People{id:’${sid}’}) RETURN n.completion_percentage;
Hugegraph hugegraph.traversal().V(‘4:${sid’).values(‘completion_percentage’)

一层图游走

图数据库 语法
GaiaDB-G g.query().has(‘sid’,MATCH,’${sid}’).out.limit(1).with(‘completion_percentage’)
Neo4j MATCH(n:People{id:’${sid}’}) -->(n2:People) RETURN n2.completion_percentage limit 1;
Hugegraph hugegraph.traversal().V((‘4:${sid’).out().limit(1).values(‘completion_percentage’)

二层图游走

图数据库 语法
BGraphGaiaDB-G g.query().has(‘sid’,MATCH,’${sid}’).out.limit(1).out.limit(1).with(‘completion_percentage’)
Neo4j MATCH(n:People{id:’${sid}’})–>(n2:People) with n2 LIMIT 1 MATCH(n2)–>(n3:People) RETURN n3.completion_percentage limit 1
Hugegraph hugegraph.traversal().V((‘4:${sid’).out().limit(1).out().limit(1).values(‘completion_percentage’)

三层图游走

图数据库 语法
GaiaDB-G g.query().has(‘sid’,MATCH,’${sid}’).out.limit(1).out.limit(1).out.limit(1).with(‘completion_percentage’)
Neo4j MATCH(n:People{id:’${sid}’})–>(n2:People) with n2 LIMIT 1 MATCH(n2)–>(n3:People) with n3 LIMIT 1 MATCH(n3)–>(n4:People) RETURN n4.completion_percentage limit 1
Hugegraph hugegraph.traversal().V((‘4:${sid’).out().limit(1).out().limit(1).out().limit(1).values('completion_percentage‘)

备注:hugegraph在实际压测过程中,采用50w query压力测试比较慢,我们尝试测试了20w的情形仍然较慢,这里选用10w query进行压测。

3. 测试配置

我们这里选用百度内部常见的服务器配置作为测试环境,参数如下:

参数 配置
CPU 【Intel Xeon Gold 5117 processor 14C 2.0GHZ】*2
MEM 【LANGCHAO DDR4-2666 32G】*6
DISK 【LANGCHAO SATA 4T 7.2K】*4
SSD 【LANGCHAO NVMe SSD 1T】*1

4. 测试结果

我们将实测结果列统计到下列表格中。

图片.png

5. 分析与结论

根据上面的分析,我们选取64线程性能结果画柱形图,如下图所示。从图中可以看到,GaiaDB-G的性能远超Neo4j和Hugegraph,在实体查询时,GaiaDB-G性能是Neo4j的3.48倍,是Hugegraph的1.59倍游走遍历层数越大,GaiaDB-G的性能优势更加明显,三层游走时,GaiaDB-G性能是Neo4j的7.9倍,是Hugegraph的53.9倍。

图片.png

本文取自《图数据库GaiaDB-G产品白皮书V1.3》

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论