We have a web-application that connects to DSE Graph to search graph based on caller's request. Several graph queries are performed per HTTP request.
We are trying to figure out which driver/client should be used and the driver-object (equivalent to SQL's DataSource) that should be re-used to leverage driver's Connection Pool in most efficient manner.
There are 2 ways to connect to DSE Graph, say Client library:
Tinkerpop Client: Cluster > Remote Connection > Graph Traversal
DSE Java Driver: CQL Session > Remote Connection > Graph Traversal
Which of these client library is recommended?
When latest tinkerpop client is used, graph traversal 'g' should be re-used (by multiple-threads). Is this the case for DSE Driver as well? I see in OSS driver GraphTraversal class (com.datastax.dse.driver.internal.core.graph.DseGraphTraversal) is marked to be "@NotThreadSafe". Whereas CQLSession is threadsafe.