About transactions and concurrency control

A brief description about transactions and concurrency control.

Cassandra does not offer fully ACID-compliant transactions, the standard for transactional behavior in a relational database systems:
  • Atomic

    Everything in a transaction succeeds or the entire transaction is rolled back.

  • Consistent

    A transaction cannot leave the database in an inconsistent state.

  • Isolated

    Transactions cannot interfere with each other.

  • Durable

    Completed transactions persist in the event of crashes or server failure.

As a non-relational database, Cassandra does not support joins or foreign keys, and consequently does not offer consistency in the ACID sense. For example, when moving money from account A to B the total in the accounts does not change. Cassandra supports atomicity and isolation at the row-level, but trades transactional isolation and atomicity for high availability and fast write performance. Cassandra writes are durable.