JanusGraph and Cassandra modes.
Manoj Waikar <mmwa...@...>
The Cassandra related JanusGraph documentation specifies various ways in which JanusGraph can be used in concert with Cassandra.
So, if I run Cassandra (on my machine using cassandra -f) and then from my Java / Scala code, if I do the following -
Is my understanding correct?
So, when is the Remote Server Mode with Gremlin Server useful? Is it useful when non-Java based applications would like to communicate with Gremlin server?
Also, if I have to host a web application (written in Java / Scala, on my own server) which stores data in Cassandra, then which mode is best? Is it the local / remote server mode depending on where Cassandra resides with respect to the web server?
Thanks in advance for the replies / help.
Robert Dale <rob...@...>
toggle quoted messageShow quoted text
I know it's a little confusing but the page you point to is from the perspective of Cassandra. The architecture page has a some info on embedded vs. remote JanusGraph - http://docs.janusgraph.org/latest/arch-overview.html
Basically, where you open JanusGraph is where graph processing takes place. Between there and the backend storage is where lots of IO (e.g. network) will take place.
Gremlin Server is a good option when
-- as you mentioned, having non-JVM-based languages access the graph
-- if you want to separate resources of client processing, graph processing, and backend storage/indexing
-- if you want to separate your dependencies from implementation - e.g. depending on tinkerpop, not janusgraph would allow you to swap out graph implementations without changing client code
-- if you want to separate concerns of maintenance of components
-- security architecture only allows client access over port 80/443 and not directly to backend databases
-- security policies (authz/authn) are different for accessing graph API vs. backend storage
On Wednesday, August 16, 2017 at 5:41:38 AM UTC-4, Manoj Waikar wrote: