# 图数据库对比

LLMS 索引： [llms.txt](/llms.txt)

---

<span class="post-count"><%= wordcount(post.content) %></span>
<span class="post-count"><%= min2read(post.content) %></span>
<span class="post-count"><%= totalcount(site) %></span>
#### 图数据库的对比

| 图数据库     | 是否分布式                | 开发语言 | 支持的节点数量 | 原生图存储 | 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

![avatar](https://images2018.cnblogs.com/blog/513451/201805/513451-20180531112615520-1894246489.png)



java语言开发，不支持python语言





1. **性能** 要求图查询及图分析算法的执行快，涉及到底层存储结构，原生图存储基于点和边，计算中不需要过多的逻辑和物理层转换。原生图存储(neo4j/tigergraph)胜
2. **容量** 大数据时代可获取的数据越来越多，单机的容量有限。原生图存储如何实现分布式存储是困难所在。TigerGraph自称是原生并行图；neo4j支持数据的高可用HA集群，但非分布式存储;JanusGraph利用HBase等NoSQL作为后端存储，在存储层面算是分布式的，容量可以很大。百度基于JanusGraph开源了HugeGraph，增加了很多特性，提高了易用性及性能，增加了一些图分析算法。
3. **查询能力** 图数据库要具备点关系的查询能力，必不可少的如两点间所有路径，最短路径，多度查询等，这个一般都具备，差异主要是性能，普通图数据库查询3度及以上通常性能就很低了，而实际经常需要查询6度的关系，tigergraph自己的测试报告性能是很强劲的针对twitter的大图数据库，只有tigergraph完成了6度关系查询
4. **图分析计算能力** 图数据库如果仅具备存储及查询能力，则还需要依赖外部的GraphX等计算引擎才能完成一些图算法分析，这样即在数据传输，又在图表达上存在转换浪费。TigerGraph可以通过GSQL实现类存储过程式的算法封装，且已实现了很多图算法[https://www.tigergraph.com.cn/tigergraph开源十大图数据库算法库/](https://link.zhihu.com/?target=https%3A//www.tigergraph.com.cn/tigergraph%E5%BC%80%E6%BA%90%E5%8D%81%E5%A4%A7%E5%9B%BE%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%97%E6%B3%95%E5%BA%93/)



百度基于JanusGraph开源了HugeGraph，增加了很多特性，提高了易用性及性能，增加了一些图分析算法。





**JanusGraph/HugeGraph**是开源的，Apache协议，开放性最好

**neo4j**社区版开源，非商用免费，商业版支持HA集群，并不是完全分布式，使用最广最流行

**TigerGraph**将普通数据库归为第一第二代，自己为第三代，“TigerGraph是非常完备和优化的图数据库平台，支持大规模图存储以及大规模图的运行处理，具有非常强大的查询语言和算法库”。TigerGraph没有开源，**开发者版支持单机单用户单图非商业免费，不支持DynamicSchemaChange等**，图创建好之后也能通过界面手工去修改或添加，除非DropAll。TG的GSQL是类sql的语言，表达能力挺强，其将编写的query直接安装发布为restapi的形式让我感到很惊艳。目前TigerGraph的生态不是很全，编程api等能力也有一定限制，但值得尝试



![preview](https://pic3.zhimg.com/v2-5abbeda0fb296d05d1516fcda2d3592e_r.jpg)



![image-20211109160429069](/Users/andrew/Library/Application Support/typora-user-images/image-20211109160429069.png)



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

![preview](https://pic2.zhimg.com/v2-2ce2bd623678dd5dbd42933d49b2d321_r.jpg)




janusgraph



![img](https://img-blog.csdnimg.cn/20190123101621250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1pZQzg4ODg4,size_16,color_FFFFFF,t_70)




tugraph



![img](https://fma-ai.cn/cover/%E6%88%AA%E5%B1%8F2020-07-09%20%E4%B8%8B%E5%8D%881-1594348883927.png)



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

![preview](https://pic4.zhimg.com/v2-88a8c5a05d2fe6e93d44ddd937a7cc98_r.jpg)



tigergraph



![image-20211111104734637](/Users/andrew/Library/Application Support/typora-user-images/image-20211111104734637.png)

![img](https://img2018.cnblogs.com/blog/847408/201901/847408-20190118192620943-2101126015.png)
