ACID (computer science)

ACIDACID transactionsAtomicity, consistency, isolation, durabilityACID ('''A'''tomicity, '''C'''onsistency, '''I'''solation, '''D'''urability)ACID (atomicity, consistency, isolation, durability)ACID transaction propertiesACID-compliantatomicity, consistency, isolation and durabilityAtomicity, Consistency, Isolation, Durability (ACID)database consistency
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc.wikipedia
152 Related Articles

Atomicity (database systems)

atomicityatomicatomic transaction
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction.
In database systems, atomicity (from ) is one of the ACID (Atomicity, Consistency, Isolation, Durability) transaction properties.

Isolation (database systems)

isolationtransaction isolationisolated
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction.
Isolation is one of the ACID (Atomicity, Consistency, Isolation, Durability) properties.

Database transaction

transactiontransactionstransactional
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction. Transactions are often composed of multiple statements.
Database practitioners often refer to these properties of database transactions using the acronym ACID.

Database

database management systemdatabasesdatabase systems
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction.
NewSQL is a class of modern relational databases that aims to provide the same scalable performance of NoSQL systems for online transaction processing (read-write) workloads while still using SQL and maintaining the ACID guarantees of a traditional database system.

Consistency (database systems)

Consistencyinconsistentconsistent
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction. Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof.
Consistency is one of the four guarantees that define ACID transactions; however, significant ambiguity exists about the nature of this guarantee.

Durability (database systems)

durabilitydurableD'''urability
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction.
In database systems, durability is the ACID property which guarantees that transactions that have committed will survive permanently.

Concurrency control

concurrencyconcurrent accessglobal concurrency control
Isolation is the main goal of concurrency control; depending on the method used, the effects of an incomplete transaction might not even be visible to other transactions.
Overall transaction characterization is usually summarized by the ACID rules below.

Andreas Reuter

In 1983, Andreas Reuter and Theo Härder coined the acronym ACID as shorthand for Atomicity, Consistency, Isolation, and Durability, building on earlier work by Jim Gray who enumerated Atomicity, Consistency, and Durability but left out Isolation when characterizing the transaction concept.
He developed a definition of the transactional processing model in (distributed) databases along with Theo Härder, a model which to this day is often quoted by his acronym ACID (atomicity, consistency, isolation, durability).

Jim Gray (computer scientist)

Jim Gray Gray, JimJames "Jim" Gray
In 1983, Andreas Reuter and Theo Härder coined the acronym ACID as shorthand for Atomicity, Consistency, Isolation, and Durability, building on earlier work by Jim Gray who enumerated Atomicity, Consistency, and Durability but left out Isolation when characterizing the transaction concept.
describing the requirements for reliable transaction processing (memorably called the ACID test) and implementing them in software.

Data integrity

integrityintegrity constraintsconstraint
Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof.
As another example, a database management system might be compliant with the ACID properties, but the RAID controller or hard disk drive's internal write cache might not be.

Theo Härder

In 1983, Andreas Reuter and Theo Härder coined the acronym ACID as shorthand for Atomicity, Consistency, Isolation, and Durability, building on earlier work by Jim Gray who enumerated Atomicity, Consistency, and Durability but left out Isolation when characterizing the transaction concept.
In 1983, he and Andreas Reuter coined the acronym ACID to describe the essential characteristics of a distributed relational database (Atomicity, Consistency, Isolation, and Durability).

Distributed transaction

distributed transactionsdistributed transaction processingglobal transactions
Guaranteeing ACID properties in a distributed transaction across a distributed database, where no single node is responsible for all data affecting a transaction, presents additional complications.
Distributed transactions, as any other transactions, must have all four ACID (atomicity, consistency, isolation, durability) properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle).

Shadow paging

There are two popular families of techniques: write-ahead logging and shadow paging.
In computer science, shadow paging is a technique for providing atomicity and durability (two of the ACID properties) in database systems.

Write-ahead logging

write-ahead logwrite-ahead logs
There are two popular families of techniques: write-ahead logging and shadow paging.
In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems.

Multiversion concurrency control

MVCCMVCC architectureMulti Version Concurrency Control (MVCC)
An alternative to locking is multiversion concurrency control, in which the database provides each reading transaction the prior, unmodified version of data that is being modified by another active transaction.
Isolation is the property that provides guarantees in the concurrent accesses to data.

CAP theorem

AP systemavailability under partitionCAP
CAP theorem
Note that consistency as defined in the CAP theorem is quite different from the consistency guaranteed in ACID database transactions.

Eventual consistency

eventually consistentBASEeventually
Eventual consistency (BASE)
Eventually-consistent services are often classified as providing BASE (Basically Available, Soft state, Eventual consistency) semantics, in contrast to traditional ACID (Atomicity, Consistency, Isolation, Durability) guarantees.

Distributed database

distributeddistributed database management systemdata distribution
Guaranteeing ACID properties in a distributed transaction across a distributed database, where no single node is responsible for all data affecting a transaction, presents additional complications.
For those systems that support full distributed transactions, operations enjoy the ACID properties:

Computer science

computer scientistcomputer sciencescomputer scientists
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction.

IBM Information Management System

IMSInformation Management SystemIMS/VS
According to Gray and Reuter, IMS supported ACID transactions as early as 1973 (although the term ACID came later).

SQL syntax

statementstwo flavours of conditional expressions
Transactions are often composed of multiple statements.

Rollback (data management)

rollbackrolled backroll back
Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof.

Database trigger

triggerstriggerprocedural triggers
Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof.