Welcome to Codingcompiler. What is ACID? The term ACID (Atomicity, Consistency, Isolation, Durability) describes rules and properties for carrying out transactions in database management systems (DBMS). If the transaction complies with the ACID principle, the information in the database systems is considered reliable and consistent.
ACID (Atomicity, Consistency, Isolation, Durability)
ACID stands for the four English terms Atomicity, Consistency, Isolation and Durability and is a common abbreviation of information technology. In German, the four terms are atomicity, consistency, isolation and permanence. Often in German-speaking countries the acronym AKID is used. The ACID principle establishes rules for handling transactions in database management systems to ensure reliable, consistent data and systems.
A transaction consists of a sequence of different operations that have to comply with these ACID rules. The acronym ACID was already coined in 1983 by the two computer scientists Andreas Reuter and Theo Härder. Standards such as ISO / IEC 10.026-1: 1992 or ISO / IEC 10.026-1: 1998 Section 4 describe the ACID principle. To implement the ACID principle, transaction managers and logging mechanisms are used.
[Related Article: Big Data Phenomenon]
The Four Basic ACID Principles
The ACID concept consists of four individual basic principles. These basic principles are:
- Atomicity or Atomicity: Execution of all or no pieces of information in a transaction
- Consistency or Consistency: Transactions generate a valid state or return to their old state
- Isolation or Demarcation: Transactions of different users or processes remain isolated from each other
- Durability or Durability: After a successful transaction, the data remains permanently stored.
[Related Article: What is Big Data?]
A transaction consists of a sequence of individual actions. This sequence must proceed in such a way that either all single steps are executed completely or not at all. If errors occur during a sequence, the system must ensure that all changes already made by the transaction are withdrawn.
All information of an interrupted transaction can be removed without leaving the database. The individual database operations of a transaction are only valid once they have been completed. Database systems realize the atomicity by detailed logging of all actions performed.
When a transaction completes successfully, it must leave a consistent state in the previously consistent database. Before completing the transaction, you must check the data integrity and consistency requirements defined in a database. Such conditions may include compliance with certain ranges of values, the presence of key characteristics, or the uniqueness of relationships.
If a transaction violates the consistency conditions, it is rejected and all data is reset to the state before the transaction. Consistency must be ensured before and after a transaction. There may be inconsistent states during the transaction.
Isolation or Demarcation :
Multiple users or processes work simultaneously with one database. You read or write parallel data. Isolation (demarcation) ensures that the use of the database by multiple users has no negative impact.
Events such as the mutual overwriting or deleting of individual data sets can be prevented under all circumstances. For each user, the database management system appears like an exclusively used system in which the transactions do not influence each other and concurrent accesses remain invisible. One also speaks of the integrity of the process. Database systems implement isolation using locking methods.
When a transaction is executed and consistent, its information is permanently stored in the database. Future errors, memory failures, or system crashes must not result in data being deleted or made obsolete.
The durability can be realized in a database management system similar to the atomicity by logging measures. With a transaction log, the information after a system failure by reproducing the recorded write operations are reproducible.
Benefits of complying with ACID principles
Adhering to ACID principles creates many benefits when working with databases. Both users and developers can expect a clean environment and consistent data. When a transaction is completed, the availability and permanence of the data is ensured.
Errors during transactions do not result in erroneous or inconsistent information in the database. Elaborate manual research and modification work to clean up errors is not necessary. In multi-user systems, the ACID principle prevents users from interacting with each other. Downstream monitoring of the integrity of the data in the processing applications is usually superfluous.
ACID in distributed systems
In distributed database management systems, compliance with the ACID principle can lead to increased costs. In particular, the parallel operation and data storage in different locations of the distributed systems may be critical to ACID. There are methods such as two-phase commit (2PC) used.