图数据库对比
<%= wordcount(post.content) %> <%= min2read(post.content) %> <%= totalcount(site) %>
图数据库的对比
| 图数据库 | 是否分布式 | 开发语言 | 支持的节点数量 | 原生图存储 | multi_model | 查询语言 | 支持开发的语言 | 开发公司 | 落地的公司 | 是否开源 | 使用场景 | 开源地址 | 文档地址 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| neo4j | 社区单机版/商业是伪分布式 | java | 百亿 | 是 | 否 | cypher | java/python | neo4j | 使用非常广泛 | 否 | OLAP | |||
| nebula graph | 分布式 | java | 千亿个 | 是 | 否 | nsql | java | 京东 /360/携程/oppo/各种银行 | OLAP | https://github.com/vesoft-inc/nebula-graph | ||||
| ultipa | 分布式 | 是 | 否 | 北京同心尚科技发展有限公司 | 金融行业 | 否 | HTAP | |||||||
| janusgraph | 分布式 | java | 否 | 是 | gremlin | java | The Linux Foundation | apache顶级项目 | 是 | OLAP | https://github.com/JanusGraph/janusgraph | https://docs.janusgraph.org/ | ||
| hugegraph | 分布式 | java | 否 | 是 | gremlin | java | 百度 | 百度 | 是 | OLAP | https://github.com/hugegraph/hugegraph | |||
| tugraph | 分布式 | C++ | 是 | 否 | cypher | C++ | 费马科技 | 京东金融、 搜狗 、国家电网 | 否 | OLAP | wget https://fma-ai.cn/download/lgraph_latest.tar | https://fma-ai.cn/help/ | ||
| tigergraph | 单机开发/商业是分布式 | C++ | 万亿 | 是 | 否 | GSQL | tighergraph | 国家电网、国有银行 | 否 | OLTP | https://www.tigergraph.com.cn/ | |||
| geagraph | 否 |
JanusGraph
JanusGraph是一个可扩展的图数据库,可以把包含数千亿个顶点和边的图存储在多机集群上。它支持事务,支持数千用户实时、并发访问存储在其中的图。
anusGraph是2016年12月27日从Titan fork出来的一个分支 (1)分布式部署,因此,支持集群。 (2)可以存储大图,比如包含数千亿Vertices和edges的图。 (3)支持数千用户实时、并发访问。(并发访问肯定是实时的,这个唉,没必要强调好像) (4)集群节点可以线性扩展,以支持更大的图和更多的并发访问用户。(Elastic and linear scalability for a growing data and user base) (5)数据分布式存储,并且每一份数据都有多个副本,因此,有更好的计算性能和容错性。(Data distribution and replication for performance and fault tolerance) (6)支持在多个数据中心做高可用,支持热备份。(Elastic and linear scalability for a growing data and user base) (7)支持各种后端存储系统,目前标准支持以下四种,当然也可以增加第三方的存储系统: Apache Cassandra® Apache HBase® Google Cloud Bigtable Oracle BerkeleyDB (8)通过集成大数据平台,比如Apache Spark、Apache Giraph、Apache Hadoop等,支持全局图数据分析、报表、ETL (9)支持geo(Gene Expression Omnibus,基因数据分析)、numeric range(这个的含义不清楚) (10)集成ElasticSearch、Apache Solr、Apache Lucene等系统后,可以支持全文搜索。 (11) 原生集成Apache TinkerPop图技术栈,包括Gremlin graph query language、Gremlin graph server、Gremin applications。 (12)开源,基于Apache 2 Licence。 (13)通过使用以下系统可以可视化存储在JanusGraph中的图数据: Cytoscape Gephi plugin for Apache TinkerPop Graphexp KeyLines by Cambridge Intelligence Linkurious

java语言开发,不支持python语言
- 性能 要求图查询及图分析算法的执行快,涉及到底层存储结构,原生图存储基于点和边,计算中不需要过多的逻辑和物理层转换。原生图存储(neo4j/tigergraph)胜
- 容量 大数据时代可获取的数据越来越多,单机的容量有限。原生图存储如何实现分布式存储是困难所在。TigerGraph自称是原生并行图;neo4j支持数据的高可用HA集群,但非分布式存储;JanusGraph利用HBase等NoSQL作为后端存储,在存储层面算是分布式的,容量可以很大。百度基于JanusGraph开源了HugeGraph,增加了很多特性,提高了易用性及性能,增加了一些图分析算法。
- 查询能力 图数据库要具备点关系的查询能力,必不可少的如两点间所有路径,最短路径,多度查询等,这个一般都具备,差异主要是性能,普通图数据库查询3度及以上通常性能就很低了,而实际经常需要查询6度的关系,tigergraph自己的测试报告性能是很强劲的针对twitter的大图数据库,只有tigergraph完成了6度关系查询
- 图分析计算能力 图数据库如果仅具备存储及查询能力,则还需要依赖外部的GraphX等计算引擎才能完成一些图算法分析,这样即在数据传输,又在图表达上存在转换浪费。TigerGraph可以通过GSQL实现类存储过程式的算法封装,且已实现了很多图算法https://www.tigergraph.com.cn/tigergraph开源十大图数据库算法库/
百度基于JanusGraph开源了HugeGraph,增加了很多特性,提高了易用性及性能,增加了一些图分析算法。
JanusGraph/HugeGraph是开源的,Apache协议,开放性最好
neo4j社区版开源,非商用免费,商业版支持HA集群,并不是完全分布式,使用最广最流行
TigerGraph将普通数据库归为第一第二代,自己为第三代,“TigerGraph是非常完备和优化的图数据库平台,支持大规模图存储以及大规模图的运行处理,具有非常强大的查询语言和算法库”。TigerGraph没有开源,开发者版支持单机单用户单图非商业免费,不支持DynamicSchemaChange等,图创建好之后也能通过界面手工去修改或添加,除非DropAll。TG的GSQL是类sql的语言,表达能力挺强,其将编写的query直接安装发布为restapi的形式让我感到很惊艳。目前TigerGraph的生态不是很全,编程api等能力也有一定限制,但值得尝试


geagraph 阿里联合清华发布,没有开源

janusgraph

tugraph

cypher 语法,没有开源,估计是neo4j套皮

tigergraph

