what are the pros and cons of using tinkerpop based graph vs enterprise vendors neo4j or tigergraph
Hi team,
I am currently in process of choosing a graph database for some realtime usecases and was really wanted to know opinion of this community around pros and cons of using tinkerpop based graph vs enterprise vendors like neo4j or tigergraph.
Solution:Jump to solution
i think you can get all kinds of answers for this question. i'll just offer that i dont think comparing "TinkerPop" to a specific graph is a good way to do an evaluation. TinkerPop isn't a graph database so to compare it one isn't really comparing the right things. It's better to compare the features and capabilities of one graph database to another. You might compare TigerGraph to a TinkerPop-enabled graph like JanusGraph or Neptune. You could then say TigerGraph uses GSQL as a query language a...
8 Replies
Solution
i think you can get all kinds of answers for this question. i'll just offer that i dont think comparing "TinkerPop" to a specific graph is a good way to do an evaluation. TinkerPop isn't a graph database so to compare it one isn't really comparing the right things. It's better to compare the features and capabilities of one graph database to another. You might compare TigerGraph to a TinkerPop-enabled graph like JanusGraph or Neptune. You could then say TigerGraph uses GSQL as a query language and JanusGraph uses TinkerPop's Gremlin. Also note that just because a graph is TinkerPop-enabled and uses Gremlin as a query language doesn't mean it will have the same capabilities/performance as another. The feature set for JanusGraph will be different from Neptune which will be different from Neo4j, despite them all being able to be queried with Gremlin.
thanks for your time.
I am planning to use Janusgraph, but not sure what are the caveats of using it over another database which also implements tinkerpop. I intentionally kept the question open ended, because there is little information(which i could find) about experiences of using tinkerpop based graph, and which ones seems to be working fine. Would like to know what is your experiences of using different types of graph databases.
btw reasoning for choosing tinkerpop based graph is that I am hoping to change the graph without impacting customer in case the first solution I choose doesn't solve all of my usecases. Do you think changing to a different database without changing client experience/queries would be too expensive?
Also had one noob question, I am bit hesitant towards using janusgraph as there has not been any major release of it yet, Also there seems to be lots of inactivity on communication channels as well (or am i missing something there?)?
I intentionally kept the question open ended, because there is little information(which i could find) about experiences of using tinkerpop based graphTinkerPop has been around for over a decade. I'm continually shocked to learn just how many applications we all use every day that utilize it and the graph databases that support it. Most recently we've heard how ByteDance (i.e. TikTok) makes use of it with their own custom implementation: https://www.vldb.org/pvldb/vol15/p3306-li.pdf You might also be interested in how Wiz use case with Neptune: https://techcrunch.com/sponsor/aws/how-wiz-a-6-billion-unicorn-uses-specialized-data-tools-to-fuel-innovation-and-growth/ and speaking more to JanusGraph, i recall a talk that was given at a conference about Netflix and their experience with it: https://www.slideshare.net/IoannisPurdue/graph-databases-at-netflix i think that if you look around a bit you'll find plenty of examples of TinkerPop powering production systems.
laura.safran
TechCrunch
How Wiz, a $6 Billion Unicorn, Uses Specialized Data Tools to Fuel ...
Its comprehensive cloud view helps customers find and remove security risks quickly. Cloud security company Wiz, a unicorn with a valuation of $6 billion, recently announced that it had reached annual recurring revenue of $100 million—only 18 months after launching its first product. Wiz achieved this growth by providing easy-to-use tools that h...
Would like to know what is your experiences of using different types of graph databases.i usually don't say much about "what database to use". i currently work on Neptune, helped build DataStax Graph and the predecessor to JanusGraph (Titan...I think some of my commits might still be there), and I'm one of TinkerPop's earliest contributors. so, i tend to stay neutral. 🙂 i also think that graphs can be so different in underlying capabilities that without really understanding your requirements it's hard to answer this question and i tend to think that doing your own testing is what will lead you to the right answer.
Do you think changing to a different database without changing client experience/queries would be too expensive?avoiding vendor lock-in is definitely a feature of TinkerPop. in practice, it may not be a perfect swap out to just change a configuration to switch your graph. for example, maybe you initially choose JanusGraph and later decide to use Neptune. JanusGraph has a schema and metaproperties...Neptune does not. How will that affect your code? i think this goes back to your testing to better understand these sorts of differences in the graphs you target. Pick the possible graphs you might use and get some rough understanding of their abilities and given them a try. that said, you can swap. there are plenty of developers of tools for graph databases who do this, like @gdotvee
I am bit hesitant towards using janusgraph as there has not been any major release of it yet, Also there seems to be lots of inactivity on communication channels as well (or am i missing something there?)?from what i understand janusgraph is closing in on a 1.0 release - could someone from @janusgraph say more on this?
Yeah at least a 1.0-rc1 release is already available, and I guess a rc2 or even an official release will come out soon. Speaking of communication channels, did you try out the JanusGraph discord channel? I know some people are still using Gitter but that channel is not officially monitored.
Yeah, this was missing, i was part of gitter.
Also, JanusGraph was forked from Titan which was on version 1.0.0 at that time, so JanusGraph should be considered ready for production already, despite being on versions <1.0.0 right now. A lot of companies have been using it in production for years
Thanks these are very helpful links. Bytegraph particularly looks interesting and seems to solve all of my usecases. Let me see we can implement something similar in future, planning to start with janusgraph to gain the experience first though.