DAY - 15
Queries
Concepts of transaction
A transaction can be defined as a group of tasks. A single task is
the minimum processing unit which cannot be divided further.Let’s take an example of a simple transaction. Suppose a bank employee transfers Rs 500 from A's account to B's account. This very simple and small transaction involves several low-level tasks.
A’s Account
Open_Account(A)
Old_Balance = A.balance
New_Balance = Old_Balance - 500
A.balance = New_Balance
Close_Account(A)
B’s AccountOpen_Account(B)
Old_Balance = B.balance
New_Balance = Old_Balance + 500
B.balance = New_Balance
Close_Account(B)
States of Transactions
A transaction in a database can be in one of the following states −
·
Active − In this state, the
transaction is being executed. This is the initial state of every transaction.
·
Partially Committed − When a transaction executes its final operation, it is said to
be in a partially committed state.
·
Failed − A transaction is said to be in a failed state if any of the
checks made by the database recovery system fails. A failed transaction can no
longer proceed further.
·
Aborted − If any of the checks fails and the transaction has reached a
failed state, then the recovery manager rolls back all its write operations on
the database to bring the database back to its original state where it was
prior to the execution of the transaction. Transactions in this state are
called aborted. The database recovery module can select one of the two operations
after a transaction aborts −
- Re-start the transaction
- Kill the transaction
·
Committed − If a transaction executes all its operations successfully, it
is said to be committed. All its effects are now permanently established on the
database system.
ACID Properties
A transaction is a very small unit of a program and it may contain several low level tasks. A transaction in a database system must maintain Atomicity, Consistency, Isolation, and Durability − commonly known as ACID properties − in order to ensure accuracy, completeness, and data integrity.
·
Atomicity − This property states
that a transaction must be treated as an atomic unit, that is, either all of
its operations are executed or none. There must be no state in a database where
a transaction is left partially completed. States should be defined either
before the execution of the transaction or after the execution/abortion/failure
of the transaction.
·
Consistency – The database must remain in a consistent state after any
transaction. No transaction should have any adverse effect on the data residing
in the database. If the database was in a consistent state before the execution
of a transaction, it must remain consistent after the execution of the
transaction as well.
·
Durability − The database should be durable enough to hold all its latest
updates even if the system fails or restarts. If a transaction updates a chunk
of data in a database and commits, then the database will hold the modified
data. If a transaction commits but the system fails before the data could be
written on to the disk, then that data will be updated once the system springs
back into action.
·
Isolation − In a database system where more than one transaction are being
executed simultaneously and in parallel, the property of isolation states that
all the transactions will be carried out and executed as if it is the only
transaction in the system. No transaction will affect the existence of any
other transaction.
EXAMPLE
Atomicity is also known as the ‘All or nothing
rule’.
Consider the following transaction T
consisting of T1 and T2:
Transfer of 100 from account X to
account Y.
No comments:
Post a Comment
Give your valuable feedback