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
What are the 4 types of database?
What are the functions of rdbms?
Differentiate between nested loop, hash loop and merge join.
What are the advantages of a database?
What is variable dbms?
How to tell firebird to only accept conections from xyz host or network?
Describe the difference between homogeneous and heterogeneous distributed database.
How big is google's database?
What is entity relationship diagram?
Define identity and uniqueidentifier property of column?
What is type of end users?
What is db driver?
What are the parts of a table?
Describe the four types of indexes.
What is a driver in programming?