cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

How does Neo4J 3.x treat parallel requests?

deemeetree
Graph Buddy

Suppose I have several instances of my app, which is sending parallel data-heavy transactions to Neo4J 3.x.

How does Neo4J treat this sort of requests? Will it put them into a queue or will they be executed in parallel? What changes when these requests go to the same cluster instance?

1 ACCEPTED SOLUTION

anthapu
Graph Fellow

It's pretty much similar to any transaction based databases.

The read requests will get executed in parallel. The write requests try to get executed in parallel and if it needs to acquire a lock and it is held by another transaction it will wait for the other transaction to complete.

in cluster environment there is only one leader. So all writes are sent to to only that instance when bolt+routing or neo4j protocol is used.The read requests can go to any of the instances.

View solution in original post

1 REPLY 1

anthapu
Graph Fellow

It's pretty much similar to any transaction based databases.

The read requests will get executed in parallel. The write requests try to get executed in parallel and if it needs to acquire a lock and it is held by another transaction it will wait for the other transaction to complete.

in cluster environment there is only one leader. So all writes are sent to to only that instance when bolt+routing or neo4j protocol is used.The read requests can go to any of the instances.