Explain ACID properties
Explain ACID properties.
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. For
example, a transfer of funds from one bank account to another, even involving
multiple changes such as debiting one account and crediting another, is a
single transaction.
Atomicity : Atomicity requires that each transaction
be "all or nothing": if one part of the transaction fails, the entire
transaction fails, and the database state is left unchanged. An atomic system
must guarantee atomicity in each and every situation, including power failures,
errors, and crashes. To the outside world, a committed transaction appears (by
its effects on the database) to be indivisible ("atomic"), and an
aborted transaction does not happen.
Consistency : The consistency property ensures
that any transaction will bring the database from one valid state to another.
Any data written to the database must be valid according to all defined rules,
including constraints, cascades, triggers, and any combination thereof. This
does not guarantee correctness of the transaction in all ways the application
programmer might have wanted (that is the responsibility of application-level
code) but merely that any programming errors cannot result in the violation of
any defined rules.
Isolation : The isolation property ensures that
the concurrent execution of transactions result in a system state that would be
obtained if transactions were executed serially, i.e. one after the other.
Providing isolation is the main goal of concurrency control. Depending on
concurrency control method, the effects of an incomplete transaction might not
even be visible to another transaction.[citation needed]
Durability : Durability means that once a
transaction has been committed, it will remain so, even in the event of power
loss, crashes, or errors. In a relational database, for instance, once a group
of SQL statements execute, the results need to be stored permanently (even if
the database crashes immediately thereafter). To defend against power loss,
transactions (or their effects) must be recorded in a non-volatile memory.
Social Plugin