What are ACID properties?

Answer Posted / bilal

ACID properties are an important concept for databases. The
acronym stands for Atomicity, Consistency, Isolation, and
Durability.

Atomicity:

The phrase "all or nothing" succinctly describes the first
ACID property of atomicity. When an update occurs to a
database, either all or none of the update becomes available
to anyone beyond the user or application performing the
update. This update to the database is called a transaction
and it either commits or aborts. This means that only a
fragment of the update cannot be placed into the database,
should a problem occur with either the hardware or the
software involved. Features to consider for atomicity:

* a transaction is a unit of operation - either all the
transaction's actions are completed or none are
* atomicity is maintained in the presence of deadlocks
* atomicity is maintained in the presence of database
software failures
* atomicity is maintained in the presence of application
software failures
* atomicity is maintained in the presence of CPU failures
* atomicity is maintained in the presence of disk failures
* atomicity can be turned off at the system level
* atomicity can be turned off at the session level

Consistency:

Consistency is the ACID property that ensures that any
changes to values in an instance are consistent with changes
to other values in the same instance. A consistency
constraint is a predicate on data which serves as a
precondition, post-condition, and transformation condition
on any transaction.

Isolation:

The isolation portion of the ACID properties is needed when
there are concurrent transactions. Concurrent transactions
are transactions that occur at the same time, such as shared
multiple users accessing shared objects. This situation is
illustrated at the top of the figure as activities occurring
over time. The safeguards used by a DBMS to prevent
conflicts between concurrent transactions are a concept
referred to as isolation.

As an example, if two people are updating the same catalog
item, it's not acceptable for one person's changes to be
"clobbered" when the second person saves a different set of
changes. Both users should be able to work in isolation,
working as though he or she is the only user. Each set of
changes must be isolated from those of the other users.
An important concept to understanding isolation through
transactions is serializability. Transactions are
serializable when the effect on the database is the same
whether the transactions are executed in serial order or in
an interleaved fashion. As you can see at the top of the
figure, Transactions 1 through Transaction 3 are executing
concurrently over time. The effect on the DBMS is that the
transactions may execute in serial order based on
consistency and isolation requirements. If you look at the
bottom of the figure, you can see several ways in which
these transactions may execute. It is important to note that
a serialized execution does not imply the first transactions
will automatically be the ones that will terminate before
other transactions in the serial order.

Degrees of isolation:
* degree 0 - a transaction does not overwrite data updated
by another user or process ("dirty data") of other transactions
* degree 1 - degree 0 plus a transaction does not commit any
writes until it completes all its writes (until the end of
transaction)
* degree 2 - degree 1 plus a transaction does not read dirty
data from other transactions
* degree 3 - degree 2 plus other transactions do not dirty
data read by a transaction before the transaction commits

Durability:

Maintaining updates of committed transactions is critical.
These updates must never be lost. The ACID property of
durability addresses this need. Durability refers to the
ability of the system to recover committed transaction
updates if either the system or the storage media fails.
Features to consider for durability:

* recovery to the most recent successful commit after a
database software failure
* recovery to the most recent successful commit after an
application software failure
* recovery to the most recent successful commit after a CPU
failure
* recovery to the most recent successful backup after a disk
failure
* recovery to the most recent successful commit after a data
disk failure


Thanks

Is This Answer Correct ?    7 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How to retrive a student with height marks,second height and third height from MS access database what wil be the query for this purpuse?

560


What is compound key?

537


Explain fully functional dependency?

547


How do I add a file to a database?

465


What is the normal procedure followed by a java client to access the db?

436






What is progress actional?

510


Enlist some commands of ddl?

512


What is query in rdbms?

475


What are the main components of a database in healthcare?

446


Is there an example how to configure externalfileaccess setting in firebird.conf?

468


What is data abstraction in dbms?

585


Define database.

556


Explain 3nf?

544


What do you understand by unique key?

504


Why do I need netlib?

521