"So if Key A is supposed to go to Node, 1,2,3 then the commit log for Key A will be on each of these nodes?"
There isn't a commit log per key, just one for each node tracking what's been written to that node. If a node1 determines node2 or node3 should handle a request it received, it'll route it to one of them and not append anything to its own commit log. ________________________________________ From: Ryan King [r...@twitter.com] Sent: Friday, February 11, 2011 9:46 AM To: user@cassandra.apache.org Cc: cassandra-u...@incubator.apache.org Subject: Re: Basic Cassandra Architecture questions On Fri, Feb 11, 2011 at 9:37 AM, mcasandra <mohitanch...@gmail.com> wrote: > > Is commit log file maintained on every node that's responsible to keep key > ranges? So if Key A is supposed to go to Node, 1,2,3 then the commit log for > Key A will be on each of these nodes? Is this commit log like redo log of > oracle, which is used in case of failure to roll forward/back the writes? Sorta, the commitlog is used to rebuild the memtables when a machine restarts. > I am trying to think why R + W > N is said to be consistent and not R + W = > N? You get consistency when you have a guarantee of overlap between the read and write sets. R + W > N is just another way of saying "there are some hosts that are in both the successful read and write sets". -ryan