Data Property - ACID (atomicity, consistency, isolation, durability)

Data System Architecture


In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee transactions are processed reliably.

They defines a concurrency model.

Traditional database (ie non distributed database) follows this rules. In a distributed database, traditional database would be categorize as the AC type of the cap theorem. Conventional databases assume no network partitioning and are not distributed.

ACID rules

Ideally, the software should enforce the ACID rules, summarized here:

  • Atomicity: Either all the tasks in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone (rolled back). Atomicity = the Transaction must fail of succeed. Either all occur or none of them occur.
  • Consistency: Every transaction must preserve the integrity constraints — the declared consistency rules — of the database. It cannot leave the data in a contradictory state. A series of database operations does not violate any integrity constraints during execution.
  • Isolation: Two simultaneous transactions cannot interfere with one another. Intermediate results within a transaction must remain invisible to other transactions. The intermediate state of a series of database operations cannot be seen by other series of database operations.
  • Durability: Completed transactions cannot be aborted later or their results discarded. They must persist through (for instance) restarts of the DBMS after crashes. A series of database operations that have committed are guaranteed to survive permanently.

Weaker concurrency model

In practice, many DBMSs allow the selective relaxation of most of these rules — for better performance or on a distributed system

Documentation / Reference

Discover More
Data System Architecture
Atomic Commit

An Atomic commit is a commit that implements atomicity for a transaction. Either all the tasks in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone...
Data System Architecture
Data - Transaction (Trans(versal?) actions)

A single logical operation on the data is called a transaction. A physical operation is called a request and therefore a transaction is a queue of request. For example, a transfer of funds from one bank...
Data System Architecture
Data Properties and Transactions

This section is : transactions are the mechanism that guarantee data ACID (atomicity, consistency, isolation, durability) properties during concurrent data changes (ie multiple user or program...
Data System Architecture
Data Property - BASE (Basically Available)

BASE is a set of properties for systems that prefer in the CAP theorem: Availability (A) and Partition tolerance (P) over Consistency (C) A base system is therefore also known as a AP (Available...
Data System Architecture
Database management system (DBMS)

A Database_management_systemDBMS is a set of software programs that controls the organization, storage, management, and retrieval of data. A database is a collection of permanently stored data used by...
Cap Theorem Database Type
Distributed Database - CAP Theorem (Consistency, Availability, Partition Tolerance)

This theorem from Eric Brewer in 2000, followed up later by Lynch in 2002 state that a distributed database can't get all these three notions at the same time: consistency - data is the same for every...
Data System Architecture
Distributed Database - Distributed Transactions (of Global transaction)

A distributed transaction is a transaction that updates data on two or more networked computer systems. The data, applications are distributed across several computers. In enterprise computing, it's...
Card Puncher Data Processing
MySql - InnoDb

InnoDB is the default storage engine (From MySQL 5.6) It is: a transaction-safe (ACID compliant) that has commit, rollback, and crash-recovery capabilities It supports: FOREIGN KEY referential-integrity...
Card Puncher Data Processing
Oracle Database - System Change Numbers (SCNs) - Point in time

A system change number (SCN) is a logical, internal time stamp used by Oracle Database. SCNs order events that occur within the database, which is necessary to satisfy the ACID properties of a transaction....
Card Puncher Data Processing
Oracle Database - Transactions

All Oracle transactions comply with the basic properties of a database transaction, known as ACID properties. A transaction begins when the first executable SQL statement is encountered. An executable...

Share this page:
Follow us:
Task Runner