Comparison
ACIDvsIsolation level
ACID
you wrap the two updates in a transaction so either both land or neither does, and nobody sees the halfway state.
Atomicity, consistency, isolation and durability: the guarantees a transactional database makes about a unit of work. In practice only atomicity and durability are absolute; isolation is a dial you set and consistency is mostly your constraints, not the database's opinion. Knowing which of the four you actually rely on is what makes the acronym useful rather than decorative.
Full entry →Isolation level
you pick how much of other people's in-flight work your transaction is allowed to see, usually by accepting whatever the default was.
The setting that determines which concurrency anomalies your transactions can observe, from read uncommitted through to serialisable. Weaker levels are faster and allow more anomalies; stronger levels serialise more and produce more conflicts or blocking. Nearly every database ships a default weaker than serialisable, so the anomalies it still permits are yours to handle in application code.
Full entry →