2011/8/19 Tuure Laurinolli <[email protected]>

>
> On Aug 19, 2011, at 07:57 , David Rader wrote:
>
> > It looks like the HA implementation is for eventual consistency, tunable
> by how often a slave polls the master for updates from other nodes.
> >
> > With a load balanced cluster, is the best practice to simply use sticky
> sessions on clients to ensure that immediate reads of updated data are
> served by the same node that wrote the update and are therefore consistent?
> Any other recommended approaches?
>
> If your goal is HA, there are two other approaches:
>
> 1) Always read from master
>
> and
>
> 2) Always take read lock on things you read
>
> Always reading from master works because writes are synchronously
> replicated to master, and taking a read lock works because taking a read
> lock always synchronizes with master (although it of course also disallows
> related writes for the duration of your transaction). These solutions affect
> write performance (reading from master consumes master capacity, and taking
> read locks prevents other transactions from completing). Read performance is
> certainly affected as well compared to sticky sessions, and is likely to be
> considerably lower because of the synchronization requirements, and load on
> master.
>
> Consistency guarantees would be as follows:
>
> - Reading from arbitrary slaves guarantees very little
> - Sticky sessions guarantee read-everything-up-until-your-previous-write
> - Reading from master guarantees consistency re: communications over side
> channels (if another node, after committing, tells you that he wrote
> something, you can see that write, or possibly some newer write)
> - Taking read locks guarantees
> read-everything-up-until-your-previous-lock-request and also repeatable
> reads
>

Taking read locks on everything is a bit overkill and will probably only be
necessary in certain scenarios. Pulling updates and then do a read request
will make that read request view a snapshot of the latest or near-latest
graph.

>
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
Mattias Persson, [[email protected]]
Hacker, Neo Technology
www.neotechnology.com
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to