图数据库平台建设及业务落地

本文介绍了图数据库的背景、NebulaGraph的调研过程和性能优势,以及在知识图谱、内容标签、数据血缘和服务架构拓扑等业务场景中的落地应用。通过调研,NebulaGraph因其高性能、开源和丰富的社区支持成为理想的图数据库选择。
摘要由CSDN通过智能技术生成

1 什么是图数据库

图数据库(Graph database)是以图这种数据结构存储和查询的数据库。与其他数据库不同,关系在图数据库中占首要地位。这意味着应用程序不必使用外键或带外处理(如 MapReduce)来推断数据连接。与关系数据库或其他 NoSQL 数据库相比,图数据库的数据模型也更加简单,更具表现力。

图数据库在社交网络、知识图谱、金融风控、个性化推荐、网络安全等领域应用广泛。

2 图数据库调研

2.1 调研背景

随着知识图谱等业务数据的不断增长,现有图数据库 JanusGraph 应对已经比较吃力,导入时间已经无法满足业务的要求。因此寻找性能更好的开源属性图数据库已经成为了当前迫切要做的事情。

新图数据库应满足以下要求:

  • 能够支持 10 亿节点 100 亿边 170 亿属性的大规模图谱
  • 全量导入时间不超过 10h
  • 二度查询平均响应时间不超过 50ms,QPS 能够达到 5000+
  • 开源且支持分布式的属性图数据库

2.2 调研过程

第一步,搜集常见的开源分布式属性图数据库,如下表:
在这里插入图片描述
第二步,基于美团、LightGraph、TigerGraph、GalaxyBase等图数据库测试报告,分析可得几个图数据库性能如下:

  • 导入:NebulaGraph > HugeGraph > JanusGraph > ArangoDB > OrientDB

  • 查询:NebulaGraph > HugeGraph > JanusGraph > ArangoDB > OrientDB

NebulaGraph不论是在导入还是在查询性能上都表现优异。

第三步,为了验证 NebulaGraph 的性能,对 NebulaGraph 和 JanusGraph 进行了一次性能对比测试,测试结果如下:
在这里插入图片描述
上图中,将JanusGraph性能看作 1,NebulaGraph 导入性能要比 JanusGraph 快一个数量级,查询性能是 JanusGraph 的 4-7 倍。而且随着并发量的增大,性能差距会进一步拉大,而且 JanusGraph 在从 20 个线程开始,三度邻居查询会有 error。而 NebulaGraph 没有任何error。

NebulaGraph 全量导入 10 亿节点 100 亿边只需要 10h,满足要求,目前正在调研 SST 导入,可以大幅提升导入速度。

对 NebulaGraph 使用 120 个线程进行二度邻居查询压测,最终 QPS 在 6000+,相比单机有一些提升。成功率接近 5 个 9,而且响应实践比较稳定,平均 18.81ms,p95 38ms,p99

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值