Hello everyone,

*Detailed explanation of the situation*
we are currently in the process of migrating a project that previously used 
Titan to OrientDB. We are facing some issues regarding concurrency. In 
Titan, several threads could perform read operations on a single 
transaction without any problems. The OrientDB manual states that each 
thread should have its own OrientGraph instance. This is hard for us to 
manage, as we are using OrientDB as the backend for a web application. Such 
an environment runs a lot of threads, some of them long-running (e.g. 
threads managed by Tomcat), others short-lived (e.g spawned by 
collection.parallelStream()). Any solution involving a ThreadLocal is 
problematic because there is no clean way to clean it up again and closing 
the OrientGraph instance. Also, opening transactions in OrientDB seems to 
have a considerable performance overhead, which means that we have to keep 
a transaction open and perform several reads on it to minimize the 
transaction creation overhead. But this is only possible if we can be sure 
that it is safe to have multiple concurrent reads on a single OrientDB 
instance. Is that the case?

*TL;DR (Short version)*
Is it safe to perform concurrent reads on an OrientGraph instance, provided 
that no write operations occur on that instance?


Thanks,


Alan

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to