Isolation levels control how much concurrent transactions can see of each other's uncommitted (or in-progress) changes — trading consistency against performance/concurrency. Higher isolation prevents more anomalies but increases locking/contention.
The concurrency anomalies (what isolation prevents)
DIRTY READ → reading another transaction's UNCOMMITTED changes (which may roll back)
NON-REPEATABLE READ → re-reading a row gives different values (another txn UPDATED it)
PHANTOM READ → re-running a query returns different ROWS (another txn INSERTED/DELETED)
These are the problems that can occur when transactions run concurrently — isolation levels control which are prevented.
