Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what is the difference between Titan and Spark-GraphX and which one is the preferred?

I am looking for the difference between Titan and Spark-GraphX and which one is best to use. I googled it but didn't get article on this

Could someone provide pointer on this??

like image 519
Jayaprakash Narayanan Avatar asked Jan 06 '23 17:01

Jayaprakash Narayanan


1 Answers

The Apache TinkerPop project documentation provides a nice overview of the difference between OLTP graph tools (graph databases such as Titan) and OLAP graph tools (graph engines such as Spark-GraphX).

It is not a question of which one (Titan or Spark-GraphX) is best because they do different things.

TItan supports many users simultaneously issuing targeted queries on a very large graph where the queries start at a single (or only a few) node and make short traversals into the graph before an answer is returned.

Graph engines like Spark-GraphX are batch processes that examine substantial parts or all of a graph to get the big picture - like a clustering algorithm or a shortest path calculation.

Often times the best graph solutions will include both a graph database and a graph engine. One comparison that is valid, that you should be aware of is the TinkerPop SparkGraphComputer versus Spark-GraphX.

Many consider the TinkerPop SparkGraphComputer to be a superior graph engine approach than GraphX for at least two reasons:

  1. Using SparkGraphComputer in TinkerPop, you can seamlessly run graph engine algorithms that pull directly from your TinkerPop compliant graph database - like Titan - giving you both graph database and graph engine capabilities pre-integrated.
  2. SparkGraphComputer has an arguably nicer programming model to develop custom algorithms. Unless you are into canned algorithms, then you have to drop to the Pregel API of GraphX to do customized algorithms.
like image 181
drobin Avatar answered May 14 '23 15:05

drobin