0% found this document useful (0 votes)
134 views

c09 Transaction Management Notes

This document discusses transaction management in database systems. It defines a transaction as a unit of program execution that accesses and possibly updates data items. Transactions must preserve the ACID properties of atomicity, consistency, isolation, and durability. The transaction manager coordinates transactions and communicates with the scheduler to implement concurrency control strategies. If failures occur, the recovery manager handles recovery using information stored in the transaction log.

Uploaded by

Siti Syahirah
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views

c09 Transaction Management Notes

This document discusses transaction management in database systems. It defines a transaction as a unit of program execution that accesses and possibly updates data items. Transactions must preserve the ACID properties of atomicity, consistency, isolation, and durability. The transaction manager coordinates transactions and communicates with the scheduler to implement concurrency control strategies. If failures occur, the recovery manager handles recovery using information stored in the transaction log.

Uploaded by

Siti Syahirah
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 17

Transaction

Management
WXES 2103
Database

Content
What is transaction
Transaction properties
Transaction management with SQL
Transaction log
DBMS Transaction Subsystem

Transaction Concepts
A transaction is a unit of program execution that
accesses and possibly updates various data
items.
A transaction must see a consistent database.
During transaction execution the database may
be inconsistent.
When the transaction is committed, the
database must be consistent.

Transaction Concepts (cont)


If the transaction aborted, the DB must be
restored to its prior state. Means such
transaction must be undone or rolled back
Two main issues to deal with:
Failures of various kinds, such as hardware
failures and system crashes
Concurrent execution of multiple transactions

ACID Properties
To preserve integrity of data, the database system
must ensure:
Atomicity.
Either all operations of the transaction are
properly reflected in the database or none are.
Consistency / Serializability.
Execution of a transaction in isolation preserves
the consistency of the database.

ACID Properties (cont)


Isolation.
Although multiple transactions may execute
concurrently, each transaction must be unaware
of other concurrently executing transactions.
Intermediate transaction results must be hidden
from other concurrently executed transactions.
That is, for every pair of transactions T and T ,
i
j
it appears to Ti that either Tj, finished
execution before Ti started, or Tj started
execution after Ti finished.

ACID Properties (cont)


Durability.
After a transaction completes successfully, the
changes it has made to the database persist,
even if there are system failures.

Trans. Mgt. with SQL


COMMIT statement ends the SQL trans.;
effects permanently recorded within DB
ROLLBACK statement DB is rolled back to its
previous consistent state and all the changes
are aborted
Reach end of the program successfully similar
to COMMIT
Program abnormally terminated similar to
ROLLBACK

Transaction Log
Keep track of all transactions that update the DB
If failure occurs, information that was stored here
will be used for recovery
It is triggered by ROLL BACK statement,
program abnormal termination, or system failure
It stotes before-and-after data of the DB and the
tables, rows and attribute values that
participated in the transaction

Transaction Log (cont)


The transaction log is subject to dangers such
as disk full conditions and disk crashes
It has to be managed like other DBs
Transaction log will increase the processing
overhead but it is worthwhile

Example of Fund Transfer


Transaction to transfer $50 from account A to account B:
1. read(A)
2. A := A 50
3. write(A)
4. read(B)
5. B := B + 50
6. write(B)
Consistency requirement the sum of A and B is
unchanged by the execution of the transaction.
Atomicity requirement if the transaction fails after step
3 and before step 6, the system should ensure that its
updates are not reflected in the database, else an
inconsistency will result.

Fund Transfer (cont)


Durability requirement once the user has been notified
that the transaction has completed (i.e., the transfer of
the $50 has taken place), the updates to the database by
the transaction must persist despite failures.
Isolation requirement if between steps 3 and 6,
another transaction is allowed to access the partially
updated database, it will see an inconsistent database
(the sum A + B will be less than it should be).
Can be ensured trivially by running transactions serially,
that is one after the other. However, executing multiple
transactions concurrently has significant benefits (this is
not covered in WXES2103)

Transaction state
Active, the initial state; the transaction stays in this state
while it is executing
Partially committed, after the final statement has been
executed.
Failed, after the discovery that normal execution can no
longer proceed.
Aborted, after the transaction has been rolled back and
the database restored to its state prior to the start of the
transaction. Two options after it has been aborted:

restart the transaction only if no internal logical error


kill the transaction

Committed, after successful completion.

DBMS Transaction Subsystem


Database
Manager

Access
Manager

Systems
Manager

Transaction
Manager

Scheduler/
Lock
Manager

Buffer
Manager

Recovery
Manager

File Manager

Database and
system
catalog

DBMS Transaction Subsystem


Trans. Mgr. coordinates transactions on
behalf of application program. It communicates
with scheduler.
Scheduler implements a strategy for
concurrency control.
If any failure occurs, recovery manager handles
it.
Buffer manager in charge of transferring data
between disk storage and main memory.

DBMS Transaction Subsystem


File manager manipulates the underlying
storage files and manages the allocation of
storage space on disk.
File manager does not directly manage the
physical input and output of data, rather it
passes the requests on to the access manager.
Appropriate access method is used to either
read or write data into the system manager.

END
Next class Concurrency Control

You might also like