In
Database, ACID (atomicity, consistency, isolation, durability) is a set of
properties that guarantee that database transactions are processed reliably. In
the context of databases, a single logical operation on the data is called a
transaction.
An
example of a transaction is a transfer of funds from one bank account to
another, even though it might consist of multiple individual operations (such
as debiting one account and crediting another).
Atomicity
Atomicity
refers to the ability of the DBMS to guarantee that either all of the tasks of
a transaction are performed or none of them are.
For
example, the transfer of funds from one account to another can be completed or
it can fail for a multitude of reasons, but atomicity guarantees that one
account won’t be debited if the other is not credited.
Atomicity
states that database modifications must follow an “all or nothing” rule. Each
transaction is said to be “atomic” if when one part of the transaction fails,
the entire transaction fails. It is critical that the database management
system maintain the atomic nature of transactions in spite of any DBMS,
operating system or hardware failure.
Consistency
The
consistency property ensures that the database remains in a consistent state
before the start of the transaction and after the transaction is over (whether
successful or not).
Consistency
states that only valid data will be written to the database. If, for some
reason, a transaction is executed that violates the database’s consistency
rules, the entire transaction will be rolled back and the database will be
restored to a state consistent with those rules. On the other hand, if a
transaction successfully executes, it will take the database from one state
that is consistent with the rules to another state that is also consistent with
the rules.
Isolation
Isolation
refers to the requirement that other operations cannot access or see the data
in an intermediate state during a transaction. This constraint is required to
maintain the performance as well as the consistency between transactions in a
DBMS. Thus, each transaction is unaware of other transactions executing concurrently
in the system.
Durability
Durability
refers to the guarantee that once the user has been notified of success, the
transaction will persist, and not be undone. This means it will survive system
failure, and that the database system has checked the integrity constraints and
won’t need to abort the transaction.
Many
databases implement durability by writing all transactions into a transaction
log that can be played back to recreate the system state right before a
failure. A transaction can only be deemed committed after it is safely in the
log.
Durability
does not imply a permanent state of the database. Another transaction may
overwrite any changes made by the current transaction without hindering
durability.
No comments:
Post a Comment