Skip to main content

Transaction models

 

ACID

Atomic

All or nothing. A transaction needs to have all parts to succeed, otherwise it will fail. Example: Bank transfer (credit/debit)

Consistent

A transaction needs to transition from one valid state to another.

Isolated

Transactions don't interfere with each other

Durable

Transactions are stored and are durable (resistant to crashes)

 

BASE

Basically Available

Operations will be performed (read/write) but there are no guarantees about consistency.

Soft state

Consistency enforcement is the responsibility of the application. The database won't check or enforce this.

Eventually consistent

Reads will become consistent at one point but not necessarily immediately.