this link http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0 talks about linearizable consistency and lightweight transactions.
but I am still not completely following it , just based on the article itself. the standard replication protocol in Cassandra does establish a total order (based on client TS, though that can be wrong/unfair), so in the case of the example mentioned in the article "if 2 people try to create the same account', yes if both of them just brute-force write, ultimately we will have one winner, who provided the higher TS (this is done consistently across all replicas). what really matters in the above situation is the ability to group the 2 operations "check existing account" and "create account" together and run them in an atomic way. so we need something like a 2-phase commit. I guess what is not clear from that article is , what is the fundamental difference between the standard replication protocol and Paxos that prevents us from implementing a 2-pc on top of the standard protocol? Thanks! yang