Neo4j Vs JanusGraph Vs Tigergraph

做知识图谱的一般需要用图数据库存储及检索,相对更加的直观化。记得2年前做教育方向用到过Neo4j,速度的确是慢。目前比较流行的Neo4j、JanusGraph、TigerGraph等,JanusGraph是开源的,在腾讯和百度都有用。收集了一下几种Graph数据库的对比,从容量、性能、查询能力、分析能力、开源生态等方面考虑:

1. 容量

目前是大数据时代,随便一个公司都会有很多的数据产生,之前公司一个语音评测系统,每天都有3亿条提交。这么大的数据量,做分析和存储都是需要考虑容量的。

  • Neo4j:支持数据高可能的HA集群,但不是分布式存储;
  • TigerGraph:自称是原生的并行图;
  • JanusGraph:可以接HBase及ScyllaDb等NoSQL作为后端存储,在存储层面上是分布式的,容量比较大;百度基于JanusGraph开源了HugeGraph,增加了很多特性,提高了易用性及性能,增加了一些图分析算法

2. 性能

如果需要图查询及分析计算执行的比较快,一般需要关注底层架构,原生图存储是基于点和边,计算中不需要过多的逻辑及物理层转换。

  • Neo4j:原生图
  • TigerGraph:原生图
  • JanusGraph:非原生图

3. 查询

图数据库要有点关系的检索能力,比如两点之间的所有路径、最短路径、多维度查询等等都是必不可少的。差异性主要是性能。普通图数据库查询3度及以上通常性能很低,而我们实际上经常要查6度关系,TigerGraph自己针对Twitter的大图数据库的测试报告性能很好,只有TigerGraph完成了6度关系查询

4. 分析计算能力

图数据库如果仅具备存储和查询能力,则还需要依赖于外部的GraphX等计算引擎完成一些图算法分析,在数据传输和图表达上都存在这转换浪费。TigerGraph可以通过GSQL实现类存储过程的算法封装,而且已经实现了很多图算法,但是语法结构要比Neo4j复杂的多。

5. 开源生态

开源生态决定很多公司会不会采用或者进行改造。

  • JanusGraph/HugeGraph:基于Apache协议开源,开放性好;
  • Neo4j:社区开源,非商业免费,商业版支持HA集群,并不是完全分布式,使用最广泛
  • TigerGraph:不开源,开发者版支持单机单用户单图非商业免费,不支持DynamicSchemaChange等

参考地址:LiveToolkit

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值