LLMpediaThe first transparent, open encyclopedia generated by LLMs

ACID (computer science)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: MyISAM Hop 4
Expansion Funnel Raw 91 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted91
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
ACID (computer science)
NameACID
CaptionTransaction processing concept
Introduced1983
InventorJim Gray
FieldDatabase management systems

ACID (computer science) is a set of properties that guarantee reliable processing of transactions in database management systems and transaction processing environments. Originating from work by Jim Gray and formalized in the early 1980s during research at IBM, ACID has influenced systems developed by organizations such as Oracle Corporation, Microsoft, Sun Microsystems, SAP SE, and PostgreSQL Global Development Group. The model informs design choices in commercial products like Oracle Database, Microsoft SQL Server, and open-source projects like MySQL and PostgreSQL while interacting with standards from ANSI and ISO.

Overview

ACID stands for Atomicity, Consistency, Isolation, and Durability, a quartet of properties that definetransaction processing correctness for relational databases and other database management systems. The concept links to seminal work by Jim Gray and practical deployments in systems by IBM, Oracle Corporation, Microsoft, Ingres Corporation, and research at institutions such as University of California, Berkeley and Massachusetts Institute of Technology. ACID complements models like Two-phase commit and protocols used in distributed platforms developed by Google and Amazon Web Services.

Properties

Atomicity requires that a transaction either fully completes or has no visible effect; partial changes are not allowed and must be undone, a notion central to systems like Oracle Database and IBM Db2. Consistency mandates that transactions move a database from one valid state to another according to constraints, keys, and rules such as those enforced by SQL standards and implemented in products from Microsoft and SAP SE. Isolation provides that concurrent transactions behave as if executed serially; implementations include serializability, snapshot isolation, and techniques used in PostgreSQL and MySQL Cluster. Durability ensures that once a transaction commits its effects survive failures; durability is achieved via write-ahead logging, replication, and stable storage mechanisms employed by Amazon Aurora and Google Cloud Spanner.

Implementation and Guarantees

Implementations of ACID rely on mechanisms such as locking, concurrency control, logging, and commit protocols developed in research by groups at IBM Research, Bell Labs, and Microsoft Research. Atomicity commonly uses undo logging and redo logging coordinated by transaction managers in systems like Oracle RAC and Microsoft Distributed Transaction Coordinator. Consistency is enforced through declarative constraints defined in SQL:2011 and by integrity checks implemented by SAP SE and Oracle Corporation. Isolation levels (e.g., READ COMMITTED, REPEATABLE READ, SERIALIZABLE) arise from standards and are implemented diversely in MySQL, PostgreSQL, and SQLite; serializability is often provided via two-phase locking or multiversion concurrency control used in Postgres and Oracle Database. Durability is delivered via write-ahead logging (WAL), group commit, and replication technologies found in PostgreSQL, MySQL Group Replication, and Microsoft SQL Server Always On.

Trade-offs and Limitations

Strict ACID guarantees can conflict with requirements of high-throughput, geo-distributed systems such as those built by Google, Amazon, and Facebook; designers face latency and availability trade-offs characterized in the CAP theorem formulated by researchers at MIT and developed in distributed systems literature. To achieve performance or partition tolerance, systems may relax isolation or consistency, adopting weaker models like eventual consistency used in Amazon DynamoDB and Cassandra or hybrid approaches seen in Google Spanner. Strong isolation (serializability) can increase lock contention and reduce concurrency in OLTP workloads managed by Oracle Corporation or Microsoft SQL Server, while durability guarantees raise cost due to synchronous disk I/O and replication across datacenters like those operated by Amazon Web Services and Google Cloud Platform.

Alternatives and Extensions

Alternatives to classical ACID include BASE (Basically Available, Soft state, Eventual consistency) advocated in designs like Dynamo (storage system) and Cassandra, and extended transactional models such as Saga pattern used in microservices and Apache Kafka ecosystems. Extensions include distributed transaction protocols like Two-phase commit and Three-phase commit, consensus algorithms like Paxos and Raft implemented in systems such as Etcd and Consul, and modern hybrid approaches exemplified by Google Spanner (TrueTime) and CockroachDB. Research directions integrate ACID semantics with blockchain techniques (e.g., Hyperledger Fabric) and transactional memory concepts from work at Stanford University and Carnegie Mellon University.

Applications and Examples

ACID semantics are fundamental in domains requiring correctness and auditability, including banking systems used by JPMorgan Chase, Goldman Sachs, and HSBC, enterprise resource planning suites from SAP SE and Oracle Corporation, and government systems like those run by Internal Revenue Service and HM Revenue and Customs. E-commerce platforms built by Shopify, eBay, and Amazon often combine ACID-backed components (catalog, payments) with eventually consistent services (search, recommendations). Open-source examples include transactional features in PostgreSQL, MySQL InnoDB, and SQLite; commercial appliances demonstrating ACID at scale include Oracle Exadata and Microsoft SQL Server deployments in enterprise datacenters operated by Accenture and IBM Global Services.

Category:Database management systems