图存储
1、Neo4j
neo4j是一个java实现的开源图库,属性图模型,采用双向链表存储。支持事务操作。物理存储介质直接用磁盘。存储数据量2^35 次方(百亿级别),在扩线查询时表现性能良好。提供多种最短路径算法。但是本身是单机库,无法分布式存储。但是可以采用多master结构进行分布式读,该特性暂时收费。
2、titan(janusGraph)
janusGraph的前身是titan, 是java实现的一个分布式的图数据库,也是属性图模型。存储数据量2^54次方。支持事务操作。存储采用hbase,cassandra. 支持大数据存储。支持gremlin遍历。支持es,solr,lucene索引。功能很强大。同时也存在很多问题。性能表现低于Neo4j.
3、Cayley
谷歌员工开发的挂名在github下的开源项目,go语言实现,RDF三元组模型。存储采用leveldb或mongodb。支持gremlin. 官方说查询速度很快,但是是基于单机版leveldb的。在mongodb上表现一般。
未研究过的。。。
4、OrientDB
使用文档结构描述属性图模型。
5、ArangoDB
6、GeaBase
蚂蚁金服:国内的分布式图数据库
********************************************************
图计算
1、GraphLab(PowerGraph)
稀疏矩阵存储的内存计算框架,采用GAS 消息传递模型进行分布式计算,支持多种分区策略。不支持属性图
2、Pegasus
运行在mapreduce框架上的分布式计算技术。采用矩阵模型
3、Pregel
谷歌开源的分布式计算模型,采用BSP.
4、Spark GraphX
内存计算框架,扩展Pregel与GAS模型,支持属性图计算,内涵多种图算法和分区策略。但是这些算法多数需要定制。可以提交到yarn集群运行。
4、Giraph
Giraph基于Hadoop而建,将MapReduce中Mapper进行封装,未使用reducer。在Mapper中进行多次迭代,每次迭代等价于BSP模型中的SuperStep。一个Hadoop Job等价于一次BSP作业。
******************************************************
图可视化
1、Gephi
支持10万节点的图显示,复杂网络可视化领域的photoshop. 内置多种算法。
2、R
R内置可视化软件包,功能强大,但是学习起来比较吃力。
3、Processing
Processing是数据可视化的招牌工具。你只需要编写一些简单的代码,然后编译成Java。
4、NodeXL
内嵌的Excel画图工具,可以定制图标