These major
tenets, atomicity, consistency, isolation, and durability (ACID), became the industry standard for
reliable data manipulation and transaction integrity in a multi-user environment.
So what is a transaction? According to Haerder and Reuter, it is made up of various
software operations that interact with a database during a given period of time. No changes to
data should be permitted until all these activities have been successfully concluded. This definition
then arrives at the core aspect of their discussion: Imagine a scenario in which multiple systems
attempt to simultaneously access a single repository and apply changes. What would be a reliable
mechanism to insure data integrity? To answer this question, the following ACID properties were
proposed:
??? Atomicity.2 A transaction commits all changes applied to a database by its underlying
activities only if their operations are executed successfully. Otherwise, a rollback operation
is responsible for restoring all applied data modifications. This is known as the
all-or-nothing condition.
??? Consistency.3 The committed results must be valid and should not harm the integrity of
the database.
??? Isolation. 4 A transaction must be isolated from other concurrently running transactions.
They should not interfere with each other during execution.
??? Durability.5 Changes made by successful transactions must be durable and persistent,
despite any error that occurs afterward.
Pages:
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493