Titan和Spark-GraphX有什么区别,哪一个更受青睐?

4

我想了解Titan和Spark-GraphX之间的区别,以及哪一个更适合使用。我搜索了一下,但没有找到相关文章。

有人能给出指针吗?

2个回答

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 具有一个更好的编程模型来开发自定义算法。除非您使用 canned algorithms,否则您必须转向 GraphX 的 Pregel API 来执行定制的算法。

但是有人说Apache Spark GraphX不太适合扩展,只适用于静态图。我的问题是,如果我在Titan数据库中有数百万个边和顶点,我能否使用GraphX分布式处理引擎处理它? - Bhavesh Gadoya

2
Titan是一种图数据库的实现。它通常与后端(如HBase或Cassandra)一起使用,以保持底层数据。 GraphX是一个“用于图形和图形并行计算的API”。简而言之,GraphX可用于查询和操作现有数据库(例如Titan),但它本身不存储任何数据。

GraphX本身不是像Titan一样的图形数据库吗?如何使用Titan-Cassandra图形数据库与GraphX或SparkGraphComputer进行图形挖掘、处理和机器学习呢? - Parag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接