|
|
|
|
|
by stephenjudkins
5330 days ago
|
|
This is false. Cassandra can offer any level of consistency you desire, on a per-operation basis. See the "ConsistencyLevel" section of http://wiki.apache.org/cassandra/API. The tradeoffs of the CAP theorem, of course, apply. But if you want 100% consistency (availability and partition-tolerance be damned) it's there for you. There is a general misconception that the an entire DBMS must pick tradeoffs based on the CAP theorem. (IE, you can use a database that offers availability, but can NEVER offer immediate consistency) Instead, a DBMS may offer different CAP guarantees per operation. |
|
Another problem I can see is when you write to 3 nodes, have W=2 and a write succeeds only one one node. Then later on through read repair the value propagates to the other 2 nodes. So our write "failed" but really in the end succeeded. I'm not too much into the Cassandra details but those two things immediately came to my mind when reading some of the wiki pages.
It boils down to not using/offering algorithms like 2-Phase Commit or Paxos but more sloppy quorums.
So from what I can tell, Cassandra can not guarantee strong consistency. But then again I could be wrong and missed something.