It's your replication factor that determines how many nodes contain the data. So you would set the replication factor to 5 to ensure all nodes contain the data.
Your consistency level is all based on when should the server return to the client after writing. When one node has written the data (ConsistencyLevel.ONE)? Or when all nodes have been written to (ConsistencyLevel.ALL)? Just remember if your replication factor is to ensure all nodes have a copy you may not be able to survive the loss of a single node. Sent from my iPhone On 06/11/2011, at 21:50, Riyad Kalla <rka...@gmail.com> wrote: > I am new to Cassandra and was curious about the following scenario... > > Lets say i have a ring of 5 servers. Ultimately I would like each server to > be a full replication of the next (master-master-*). > > In a presentation i watched today on Cassandra, the presenter mentioned that > the ring members will shard data and route your requests to the right host > when they come in to a server that doesnt physically contain the value you > wanted. To the client requesting this is seamless excwpt for the added > latency. > > If i wanted to avoid the routing and latency and ensure every server had the > full data set, do i have to write with a consistency level of ALL and wait > for all of those writes to return in my code, or can i write with a CL of 1 > or 2 and let the ring propagate the rest of the copies to the other servers > in the background after my code has continued executing? > > I dont mind eventual consistency in my case, but i do (eventually) want all > nodes to have all values and cannot tell if this is default behavior, or if > sharding is the default and i can only force duplicates onto the other > servers explicitly with a CL of ALL. > > Best, > Riyad