Free tools Windows power users keep installed
One-click scans. No signup required.
ACID stands for Atomicity, Consistency, Isolation, and Durability: four properties used to describe how a database handles transactions. They help protect data when operations fail or run concurrently, but they do not automatically enforce every business rule or guarantee survival of every disaster. The exact protection depends on the database engine, its settings, and the storage environment.
What does ACID mean in databases?
ACID describes properties of database transactions. A transaction groups one or more database operations into a unit of work—for example, changing two account balances as part of one bank transfer. The database aims to preserve the transaction’s validity when operations overlap or errors occur. PostgreSQL’s glossary describes the goal as maintaining validity during concurrent operation and even in the event of errors or power failures (PostgreSQL 18 glossary).
ACID is not a feature that makes every application operation correct by itself. It describes guarantees around a transaction; the application and database schema still need to define the rules that make the data valid.
Is ACID the same as a database transaction?
No. A transaction is the unit of work; ACID names properties that describe how that work is handled. A transaction may contain several statements, and the application or database commits it when the work succeeds or rolls it back when it cannot be completed.
#1 Best Overall
Consider a transfer of $50 from account A to account B. The transaction must subtract $50 from A and add $50 to B. If the system fails between those steps, a correctly handled transaction should not leave only the debit applied. PostgreSQL’s transaction tutorial explains that the steps form an all-or-nothing operation, and that other concurrent transactions do not see intermediate states (PostgreSQL 18 tutorial: Transactions).
What are the four ACID properties?
Atomicity: all the steps take effect, or none do
Atomicity prevents a multi-step transaction from being left partly applied. In the transfer example, either both balance changes take effect, or neither does. The application commits after the work succeeds; if an error prevents completion, it rolls back the transaction.
This guarantee applies to operations within the database transaction. It does not automatically make a separate email, payment-provider call, or update in another unrelated system part of the same atomic unit.
Consistency: transactions preserve defined rules
Consistency means a successful transaction leaves the database satisfying the constraints and invariants the system has defined. A database can enforce rules expressed in its schema, such as a constraint on a column. Application code may need to check business rules that the schema does not capture.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteACID does not invent those rules or make an incorrect transaction logically correct. If a system never defines or checks a rule, consistency cannot guarantee that the rule is followed.
Isolation: concurrent work follows the engine’s rules
Isolation governs what concurrent transactions can observe and how their combined results behave. It does not mean that transactions literally never affect one another, and it is not a single, identical strength setting across all databases. The selected isolation level and engine implementation matter.
PostgreSQL’s current documentation describes phenomena including dirty reads, nonrepeatable reads, phantom reads, and serialization anomalies. In PostgreSQL 18, Read Committed permits nonrepeatable reads, phantom reads, and serialization anomalies under the standard definitions. Repeatable Read also prevents phantom reads in PostgreSQL, but serialization anomalies remain possible. Serializable prohibits those phenomena under the standard’s definition (PostgreSQL 18: Transaction Isolation).
Serializable execution can mean that the database aborts a transaction when concurrent work cannot be reconciled with a serial order. The application must then retry the whole transaction, rather than only the statement that failed.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Isolation options and defaults differ by product and version. Oracle’s MySQL 26.7 InnoDB manual describes four standard isolation levels and states that Repeatable Read is the default for that manual version. It also notes that weaker settings may reduce locking overhead in suitable workloads (MySQL 26.7 manual: InnoDB Transaction Isolation Levels). That product-specific detail should not be assumed to describe every MySQL version or another database.
Durability: committed changes are meant to persist
Durability means that after the database reports a transaction committed, its changes are meant to survive subsequent failures. PostgreSQL’s tutorial says the system records updates in permanent storage before reporting completion (PostgreSQL 18 tutorial: Transactions).
The practical guarantee depends on configuration and the environment. Oracle’s MySQL 8.0 ACID documentation identifies factors such as log-flush settings, storage-device write buffers, operating-system fsync() support, UPS protection, backups, and hosted deployment or network characteristics (MySQL 8.0 manual: InnoDB and the ACID Model). A commit setting can affect what is guaranteed in a failure, so check the relevant engine documentation and deployment configuration.
Durability is not a substitute for backup and recovery planning. A committed transaction’s persistence is different from having a recoverable copy if data is lost, corrupted, or otherwise unavailable.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →What should you check when a database is called ACID-compliant?
The label alone does not tell you how a particular system behaves. To understand the guarantee for your application, check the relevant engine, version, configuration, and failure assumptions:
- Isolation: Which levels are supported, what anomalies can occur at each level, and which level the application uses.
- Retries: Whether the engine can abort a transaction under concurrency and whether the application retries the entire unit of work.
- Commit behavior: Which log-flush and durability settings are enabled.
- Storage and hosting: What the operating system, storage hardware, hosted service, and network promise when failures occur.
- Recovery: What backup and restore process protects data beyond the transaction’s normal commit guarantee.
PostgreSQL and MySQL documentation show why those details matter: isolation behavior, defaults, and durability dependencies are product- and version-specific. Avoid treating ACID as a blanket ranking of databases; behavior depends on the workload and configuration being compared.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




