Assign the tokens like they are two separate rings, just make sure you don't have any duplicate tokens.
http://wiki.apache.org/cassandra/Operations#Token_selection

The two datacenters are treated as separate rings, LOCAL_QUORUM will only delay the client as long as it takes to write the data to the local nodes. The nodes in the other datacenter will get asynchronous writes.

On 08/15/2011 03:39 PM, Oleg Tsvinev wrote:
Hi all,

I have a question that documentation has not clear answer for. I have
the following requirements:

1. Synchronously store data in datacenter DC1 on 2+ nodes
2. Asynchronously replicate the same data to DC2 and store it on 2+
nodes to act as a hot standby

Now, I have configured keyspaces with o.a.c.l.NetworkTopologyStrategy
with strategy_options=[{DC1:2, DC2:2}] and use LOCAL_QUORUM
consistency level, following documentation here:
http://www.datastax.com/docs/0.8/operations/datacenter

Now, how do I assign initial tokens? If I have, say 6 nodes total, 3
in DC1 and 3 in DC2, and create a ring as if all 6 nodes share the
total 2^128 space equally.
Now say node N1:DC2 has key K and is in remote datacenter (for an app
in DC1). Wouldn't Cassandra always forward K to the DC2 node N1 thus
turning asynchronous writes into synchronous ones? Performance impact
will be huge as the latency between DC1 and DC2 is significant.

I hope there's an answer and I'm just missing something. My case falls
under Disaster Recovery in
http://www.datastax.com/docs/0.8/operations/datacenter but I don't see
how Cassandra will support my use case.

I appreciate any help on this.

Thank you,
   Oleg

Reply via email to