A transaction cannot leave the database in an inconsistent state. Cassandra offers different types of consistency.

Cassandra offers two consistency types:
  • Tunable consistency

    Availability and consistency can be tuned, and can be strong in the CAP sense--data is made consistent across all the nodes in a distributed database cluster.

  • Linearizable consistency

    In ACID terms, linearizable consistency is a serial (immediate) isolation level for lightweight transactions.

In Cassandra, there are no locking or transactional dependencies when concurrently updating multiple rows or tables. Tuning availability and consistency always gives you partition tolerance. A user can pick and choose on a per operation basis how many nodes must receive a DML command or respond to a SELECT query.

For in-depth information about this new consistency level, see the article, Lightweight transactions in Cassandra.

To support linearizable consistency, a consistency level of SERIAL has been added to Cassandra. Additions to CQL have been made to support lightweight transactions.