Titan和Spark-GraphX有什么区别,哪一个是首选?

时间:2016-02-02 06:36:31

标签: graph-databases titan spark-graphx

我正在寻找Titan和Spark-GraphX之间的区别,哪一个最好用。我用谷歌搜索了它,但没有得到关于这个的文章

有人可以提供指针吗?

2 个答案:

答案 0 :(得分:7)

Apache TinkerPop项目文档很好地概述了OLTP图形工具(图形数据库,如Titan)和OLAP图形工具(图形引擎,如Spark-GraphX)之间的区别。

这不是一个问题(Titan或Spark-GraphX)是最好的,因为他们做了不同的事情。

TItan支持许多用户同时在一个非常大的图形上发出目标查询,其中查询从单个(或仅少数几个)节点开始,并在返回答案之前对图表进行简短的遍历。

像Spark-GraphX这样的图形引擎是批处理过程,它可以检查大部分或全部图形以获得全局 - 例如聚类算法或最短路径计算。

最佳图表解决方案通常包括图表数据库和图表引擎。您应该注意的一个有效的比较是TinkerPop SparkGraphComputer与Spark-GraphX。

许多人认为TinkerPop SparkGraphComputer是一种优于GraphX的图形引擎方法,至少有两个原因:

  1. 在TinkerPop中使用SparkGraphComputer,您可以无缝运行直接从您的TinkerPop兼容图形数据库(如Titan)提取的图形引擎算法,为您提供预先集成的图形数据库和图形引擎功能。
  2. SparkGraphComputer有一个可以说更好的编程模型来开发自定义算法。除非您使用固定算法,否则您必须使用GraphX的Pregel API来执行自定义算法。

答案 1 :(得分:2)

Titan是Graph Database的实现。它与后端一起使用,例如HBase或Cassandra,它保存基础数据。

GraphX是用于图形和图形并行计算的" API"。 简单 - GraphX可用于查询和操作现有数据库,如Titan。它本身不存储任何数据。