本文系腾讯云平安团队李航宇、邓昶博撰写
图数据库在开掘黑灰团伙以及建设平安常识图谱等平安畛域有着人造的劣势。为了能更好的服务业务,抉择一款高效并且贴合业务倒退的图数据库就变得尤为要害。本文筛选了几款业界较为风行的开源图数据库与 Nebula Graph 进行了多角度的比照。
图数据库介绍
Neo4j
Neo4j 是目前业界宽泛应用的图数据库,蕴含社区版本和商用版本,本文中应用社区版本。
HugeGraph
HugeGraph 是百度基于 JanusGraph 改良而来的分布式图数据库,次要利用场景是解决百度平安事业部所面对的反欺诈、威逼情报、黑产打击等业务的图数据存储和图建模剖析需要。具备良好的读写性能。
Nebula Graph
Nebula Graph 是一款开源的分布式图数据库,采纳 shared-nothing 分布式架构,善于解决千亿节点万亿条边的超大规模数据集,从而更好地服务企业级利用。
测试硬件环境
性能比照
咱们应用不同量级的图从入库工夫,一度好友查问,二度好友查问,独特好友查问几个方面进行了比照,后果如下:
能够看到在导入性能上,数据量小的时候 Nebula Graph 的导入效率稍慢于 Neo4j,但在大数据量的时候 Nebula Graph 的导入显著优于其余两款图数据库;在 3 种查问场景下,Nebula Graph 的效率都显著高于 Neo4j,与 HugeGraph 相比也有肯定的劣势。
查询语言比照
从查问语句的角度登程,Gremlin 比较复杂,nGQL 和 Cypher 比拟简练,从可读性角度登程,nGQL 比拟类 SQL 化,比拟合乎大家的应用习惯。
可视化比照
在可视化方面,所有的平台都还只处于可用状态,Nebula Graph 的选择性扩大在团伙开掘中是一个加分项,然而在二度后果展现晦涩度,展现后果自定义展现方面还有优化空间。
在比拟了多款业内次要应用的开源数据库后,咱们从性能,学习老本和与业务的贴合水平多个角度思考,最终抉择了性能出众,上手简略,能大幅提高业务效率的 Nebula Graph 图数据库。
本文首发于 Nebula Graph 论坛, 浏览本文的你有任何疑难,欢送返回论坛和作者进行探讨,原帖传送门:https://discuss.nebula-graph.com.cn/t/topic/1013