Essential cookies keep your basket and sign-in working. Optional cookies help us understand visits and measure ads. Privacy details.
Set of properties guaranteeing reliable database transactions: Atomicity, Consistency, Isolation, Durability.
AI-assisted explanation. It may contain errors; use a textbook or original source to check important details.
ACID isn’t a single mathematical equation so much as a “contract” that a database promises to uphold so your data behaves reliably—even when the power fails, servers crash, or many people use the system at once. Think of a database transaction like a carefully choreographed move in a busy kitchen: you either complete the whole recipe correctly or you don’t serve it at all. ACID is the set of properties that make that possible: - Atomicity (“all or nothing”): A transaction is an indivisible unit. If you transfer 100 but Bob didn’t receive it. Either both steps happen, or neither does. - Consistency (“rules are obeyed”): The database moves from one valid state to another valid state. Constraints like “account balances can’t be negative” or “every order must reference an existing customer” must still hold after the transaction. - Isolation (“as if you were alone”): If many transactions run at the same time, the result should look like they ran one-at-a-time in some order (depending on the chosen isolation level). You shouldn’t see half-finished work from someone else. - Durability (“once committed, it survives”): After the database says “committed,” the result won’t disappear—even if the machine crashes immediately afterward. The beauty of ACID is that it turns the chaos of real systems (concurrency, failures, partial progress) into a simpler mental model: transactions behave like solid, reliable building blocks you can trust.
ACID emerged from the hard-won lessons of early database systems in the 1970s and 1980s, when researchers and engineers were trying to make shared data dependable for banks, airlines, and enterprises. As databases became multi-user and always-on, two problems became unavoidable: (1) concurrency—many people updating the same data at once, and (2) failures—crashes, power loss, disk errors. To tame this, the database community developed the theory of transactions, logging, and concurrency control. The term “ACID” itself was popularized in the early 1980s to summarize the essential guarantees a transaction system should provide so application developers wouldn’t have to reinvent correctness every time. A key milestone was the formalization of transaction processing principles in the 1980s, culminating in influential work and texts that shaped modern database engines. ACID became the shorthand that guided implementation techniques like write-ahead logging (to guarantee durability) and two-phase locking or MVCC (to manage isolation).
Pioneered by: The acronym “ACID” is widely credited to Andreas Reuter and Theo Härder (early 1980s). The broader transaction-processing foundations were developed by many researchers, with major contributions from figures such as Jim Gray (notably in transaction processing, concurrency control, and recovery).