数据库
首页 > 数据库> > 7种图数据库简单比较

7种图数据库简单比较

作者:互联网

1 图数据库排名

图数据库排名:https://db-engines.com/en/ranking/graph+dbms

 

 

 

2 图数据库比较表格

初次release 2007 2010 2012 2017 2018 2016 2017
是否开源 社区版开源 开源版限制数据库规模 开源 开源 开源 开源 闭源
是否收费 企业版收费 webUI管理模块收费 企业版收费 免费 免费 免费 收费
数据模型 graph doc/graph/kv doc/graph/kv graph graph graph graph
实施语言 Java/Scala Java C/C++/JavaScript Java Java Go C++
SQL 不支持 类SQL 不支持 不支持 不支持 不支持 类SQL
查询语言 cypher     gremlin gremlin GraphQL GSQL
是否支持在线备份 社区版不支持 主主备份 主从备份 后端框架支持 后端框架支持    
存储系统 原生 原生 RockDB Cassanda Hbase Cassanda Hbase 原生  
分布式 企业版支持 后期支持 后期支持 原生支持 原生支持 原生支持 支持
应用场景 人工智能、欺诈检测、知识图谱等场景     云服务商、具备技术能力深厚的厂商 互联网大规模数据场景,网络安全、金融风控、广告推荐、知识图谱等    
相关文档 非常多   多  
文档地址           https://dgraph.io/docs/ http://docs.tigergraph.com.cn/

3 各种图数据库属性

3.1 Neo4j(主流)

历史悠久,且长期处于图数据库领域的龙头地位,主流。 缺点:企业版付费。开源的社区版本只支持单机,不支持分布式。

3.2 OrientDB(不推荐)

OrientDB是第二代分布式图数据库,以混合数据模型为特点,它包括可以在最复杂的场景中使用复制和分片,并以Apache2许可证提供开放源代码。ORIENTDB工作速度快,能够在最常见的硬件上每秒存储220000条记录,并且支持无模式、完整和混合模式,可以使用SQL作为查询语言之一。ORIENTDB使用身份验证、密码和静态数据加密等方式为所有机密数据提供安全保护。OrientDB为确保更好的性能,最近引入了节点的快速重新同步,即使处理数十亿条记录,遍历速度也不会受到影响。 OrientDB 是分布式多模型数据库,支持图数据模型,支持 sharding 机制,大规模查询情况下性能比较好; 缺点:它们起步比较早,最初的时候都是一个单机的图数据库,然后随着用户数据量的不断增加,后期增加了分布式模式,支持集群和副本,但是经过调研发现,可能是由于后加的功能,他们的分布式支持的不是很好。OrientDB因为是商用版,所以没怎么用过,虽然有社区版本,但是没有Neo4j好用。

3.3 ArangoDB(不推荐)

Arangodb以一种非常创造性和灵活的方式安排数据。数据可以存储为键或值对、图或文档,所有这些都可以通过一种查询语言访问。为了更安全的选择,查询中可以使用声明性模型。用户可以在一个查询中组合不同的模型及其特性的原因是,ArangoDB对所有数据模型都使用相同的核心和相同的查询语言。

Arangodb独特的特性是它能够在一个查询中组合不同的数据模型。这使得其展示方式令人印象深刻且美观。它比其他数据库具有更灵活的扩展性、增强的容错性、大容量的存储能力和更低的成本。arangodb最突出的特性是foxx,这是一个用于编写数据库中以数据为中心的javascript框架。

它们起步比较早,最初的时候都是一个单机的图数据库,然后随着用户数据量的不断增加,后期增加了分布式模式,支持集群和副本,但是经过调研发现,可能是由于后加的功能,他们的分布式支持的不是很好。

3.4 JanusGraph(推荐)

3.5 HugeGraph(推荐)

百度基于JanusGraph开源了HugeGraph,增加了很多特性,提高了易用性及性能,增加了一些图分析算法。HugeGraph百度在2018年中旬开源的一款图数据库(Graph Database)系统,可以存储海量的顶点(Vertex)和边(Edge)。实现了Apache ThinkerPop 3框架,支持Gremlin图查询语言。HugeGraph支持多用户并行操作,用户可输入Gremlin查询语句,并及时得到图查询结果。也可以再用户程序中调用hugeGraph API进行图分析或查询。

3.6 Dgraph(推荐)

上,他们发展的比较晚,从设计之初就考虑了分布式和扩展性,所以对分布式支持的非常好,也都是完全的开源免费,存储数据模型也都是专为图数据而设计。他们有一个比较大的区别就是,而 优点:Dgraph 不依赖与任何第三方系统,只有一个 Dgraph 可执行文件,只需在启动时通过参数指定是 Zero(管理节点)还是 Alpha(数据节点)即可,Dgraph 会自动组成集群,运维部署非常简单。Dgraph使用自身的存储系统,这就造成了前面提到的运维成本的问题。而Dgraph这些都是原生支持的,所以相对来说,Dgraph维护成本低很多。Dgraph 和 JanusGraph 性能差不多,但复杂查询下,Dgraph 性能远高于 JanusGraph。同时,Dgraph 的写入性能也整体高于 janusGraph. 缺点:比如还不支持多重边、一个集群只支持一个图、与大数据生态兼容不足等,这些都需要靠后期不断完善

3.7 TigerGraph(不推荐)

优点:TigerGraph可以通过GSQL实现类存储过程的算法封装,而且已经实现了很多图算法,但是语法结构要比Neo4j复杂的多。 缺点:目前就已知的情况来说,会买付费的图数据库的公司不多,毕竟每一家的付费都挺贵的,Neo4j按照cpu收费,TigerGraph按照数据容量(G)来收费,其他的也是license授权收费,反正都不便宜,所以未来的趋势还是趋向于免费,除非是那种必须的

4 选型结论

参考资料

[1] 贝壳找房—【图数据库系列】之 JanusGraph VS Dgraph:贝壳分布式图数据库技术选型之路 https://www.6aiq.com/article/1586913224622 [2]  

标签:Dgraph,数据库,简单,支持,开源,JanusGraph,种图,分布式
来源: https://www.cnblogs.com/sunieve/p/14533694.html