---
answer: direct
beat: system-design
source: 1 article · updated: September 1, 2026
---

What is a race condition in a database transaction, and how does isolation prevent it?

A race condition happens when two transactions read and write overlapping data at the same time, and the final result depends on timing rather than correctness — e.g. two withdrawals both reading the same starting balance before either writes. Isolation levels define how much of that overlap is allowed; higher isolation prevents more race conditions at the cost of more locking or more retries.

Answered in

Database Transactions Explained: ACID, Isolation Levels, and Concurrency Control

What ACID actually guarantees, and how pessimistic vs optimistic concurrency control decide whether your app locks or retries under load.

Crashtech Editorial September 1, 2026 System Design

Read the full analysis

Other questions this article answers

More system design questions

Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design beat.