So you have R = 2, W = 2, R+W = 4, and if your replication (N) val is 3, you're fine (you're always going to get consistency if R+W > N).
Riak is cool.
http://wiki.apache.org/cassandra/ArchitectureOverview#line-1...
As for me, it's mostly the quesion of perfomance, and application architecture, most time you don't want to wait until it's replicated to slaves.
[1]http://docs.basho.com/riak/latest/references/appendices/conc...
http://dev.mysql.com/doc/refman/5.5/en/replication-semisync....
Latency in the current version is nothing to write home about, but in V3 latency with replication is 600-1000 microseconds. Group commit to disk is every 1-2 milliseconds.
V3 also allows reads to be load balanced across replicas and masters so you gain some additional read capacity from replication. V3 also routes transactions directly to the node with the data so you don't use capacity forwarding transactions inside the cluster.
You get to keep transactions to. Now go figure out what you don't get to keep ;-)
Cross-datacenter replication becomes a Really Bad Idea?
What Volt supports right now is actually asynchronous replication that does preserve cross shard consistency, but that is not going to last.
You can do synchronous multi-DC replication, but then you have Spanner and the associated latency of multiple data-center quorums.
There is also Calvin http://bit.ly/RGW9RY
http://www.postgresql.org/docs/9.1/static/warm-standby.html#...
When we saw it before, ensuring that a given request which issued a write also read from the master was sufficient. (sub-second replication delay).