Can we use TinkerGraph in Production?

277 views
Skip to first unread message

Nibunan G S

unread,
Mar 16, 2017, 12:03:33 PM3/16/17
to Gremlin-users
Am looking for a in-memory graph db with concurrent access support and event processing(bubbling and tunneling)... 

Brief about what we are trying to do...
We are trying to re-implement the existing costing logic as a lambda service... so wanna populate inventories in the graph and calculate the cost and bubble it up....

Stephen Mallette

unread,
Mar 16, 2017, 12:15:01 PM3/16/17
to Gremlin-users
TinkerGraph is fine for production usage so long as you know what you're getting into. It doesn't support transactions and I can think of scenarios where concurrent mutations could lead to weirdness. If that's what you mean by "concurrent access support" it might not be a good choice as thread safety really hasn't been tested well.

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/7db09992-1dce-4713-ad2c-ec3d4afcf15a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nibunan G S

unread,
Mar 17, 2017, 1:01:13 AM3/17/17
to Gremlin-users
Thanks for your reply... We don't want transaction capabilities, am looking into the graph just for the compute part...


1) Would it be fine, if we just restrict the mutation of the properties of the vertex to the single thread and allow addition/creation of new vertex in parallel?

2) Do we have message passing(bubbling/tunneling) in TinkerGraph?... [I see there is some form of message passing in Vertex Programming]

3) We are developing this code using Xenon[Follows Node JS paradigm], so have to write the non-blocking code... Do you see any blocking code in TinkerGraph?

Thanks

  

On Thursday, March 16, 2017 at 9:45:01 PM UTC+5:30, Stephen Mallette wrote:
TinkerGraph is fine for production usage so long as you know what you're getting into. It doesn't support transactions and I can think of scenarios where concurrent mutations could lead to weirdness. If that's what you mean by "concurrent access support" it might not be a good choice as thread safety really hasn't been tested well.
On Thu, Mar 16, 2017 at 10:37 AM, Nibunan G S <nib...@gmail.com> wrote:
Am looking for a in-memory graph db with concurrent access support and event processing(bubbling and tunneling)... 

Brief about what we are trying to do...
We are trying to re-implement the existing costing logic as a lambda service... so wanna populate inventories in the graph and calculate the cost and bubble it up....

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.

Stephen Mallette

unread,
Mar 17, 2017, 6:58:43 AM3/17/17
to Gremlin-users
> 1) Would it be fine, if we just restrict the mutation of the properties of the vertex to the single thread and allow addition/creation of new vertex in parallel?

That might work, though I'd consider using the UUID IdManager in that case:


Again, I don't think we've really tested TinkerGraph in this way to give you a definitive answer so I suggest that you test a bit to see if you can spot any problems before committing to this. 

> 2) Do we have message passing(bubbling/tunneling) in TinkerGraph?... [I see there is some form of message passing in Vertex Programming]

TinkerGraph does have a GraphComputer implementation if that's what you're asking.

> 3) We are developing this code using Xenon[Follows Node JS paradigm], so have to write the non-blocking code... Do you see any blocking code in TinkerGraph?

I don't really know what Xenon is, but while TinkerGraph doesn't have any Promise API tied to it, there really shouldn't be anything blocking in it when you use it directly. It's not as though it is accessing disk or making a network call or anything like that.


To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/e7fbccdd-5204-4af8-b9fb-1827c498dfd6%40googlegroups.com.

Nibunan G S

unread,
Mar 20, 2017, 1:33:53 AM3/20/17
to Gremlin-users
Thanks Stephen, will test TinkerGraph and share the details...

Will Pullan

unread,
Sep 19, 2017, 7:35:10 PM9/19/17
to Gremlin-users
Did you by any chance do some testing, I have a similar use case, I would like a reasonably performant in-memory graph, don't need or could restrict concurrent mutations, but I really need concurrent read access.  
If  you by any chance chose a different graphdb - which was it.
Reply all
Reply to author
Forward
0 new messages