The goal is to exploit parallelism to maximize TPS (transactions per second).

Anomalies

Lost update

Two transactions read the same data, but one update gets overwritten and lost.

Sequence: R1 → R2 → W1 → W2

Dirty read

A transaction reads uncommitted changes of another transaction.

Sequence: R1 → W1 → R2 → A1 → W2

Non-repeatable reads

A transaction reads the same row twice but gets different values because another transaction updated it in between.

Sequence: R1 → R2 → W2 → R1