> We already have two separate rings. Idea of bidirectional sync is, if one > ring is down, we can still send the traffic to other ring. When original > cluster comes back, it will pick up the data from available cluster. I'm not > sure if it makes sense to have separate rings or combine these two rings > into one.
Cassandra doesn't have support for synchronizing data between two different rings. The multi-dc support in Cassandra amounts to having a single ring containing all nodes from all data centers. Cassandra is told (by configuring the snitch, such as through a property files) which nodes are in which data center. Using the NetworkTopologyStrategy, you then make sure to distribute replicas in DC:s as you see fit. Cassandra will then prefer local nodes for read and write operations, and you can use e.g. LOCAL_QUORUM consistency level to get quorum like consistency within a DC. Google/check wiki/read docs about NetworkTopologyStrategy and PropertyFileSnitch. I don't have a good link to multi-dc off hand (anyone got a good link to suggest that goes through this?). -- / Peter Schuller (@scode on twitter)