Hi. I'm trying to set up a causal cluster with 3 cores, how i can improve performance when writing? This question pops up because I thought that with this configuration neo4j will improve, but what I found is that the performance actally decrease. I just followed up the tutorial in this link Set up a local Causal Cluster - Operations Manual
My doubt is because when i ran neo4j without cluster, the performance is better. Thanks in advance. Sorry for my english.
I'm not sure how much you understand that concurrency and consistency in a DB cluster is a tricky topic.
If reading is mainly done, then it's easy: there multiple DB's are mirrors of each other, so you can improve performance by having a reader use some read DB that has a light load. If the read load is too much, you can always scale out by adding more read DB's.
The problem comes with writing. You want the DB to be consistent. You don't want race conditions (what if two people are trying to write at the same time?). And many other constraints. And all this can affect performance. There are trade offs too.
Lots of nasty things can occur when writing to a DB cluster which has been keeping DB designs up at nights for decades!
I won't pretend that I fully understand it, but here are some links about this that I found.
Video and slides (explains the basic problem why a cluster is slower on writing)