AdvChapter 3
AdvChapter 3
Introduction
end Commit
Partially Committed
transaction
Committed
Begin Active
Transaction
Abort
Failed Aborted
Abort
The architecture for a DBMS here in the figure below identifying four
high-level database modules that handle transactions, concurrency
control, and recovery.
The transaction manager coordinates transactions on behalf of
application programs. It communicates with the scheduler, the
module responsible for implementing a particular strategy for
concurrency control. The scheduler is sometimes referred to as the
lock manager if the concurrency control protocol is locking based.
The objective of the scheduler is to maximize concurrency without
allowing concurrently executing transactions to interfere with one
another, and so compromise the integrity or consistency of the
database.
Transaction Scheduler
Manager
Buffer Recovery
Manager Manager
Access File
Manager Manager
Recoverability
Serializability identifies schedules that maintain the consistency of
the database, assuming that none of the transactions in the
schedule fails. An alternative perspective examines the
recoverability of transactions within a schedule.
Recoverability
Serializability identifies schedules that maintain the consistency of
the database, assuming that none of the transactions in the
schedule fails. An alternative perspective examines the
recoverability of transactions within a schedule. If a transaction fails,
the atomicity property requires that we undo the effects of the
transaction. In addition, the durability property states that once a
transaction commits, its changes cannot be undone (without
running another, compensating, transaction).
Recoverable schedule A schedule where, for each pair of
transactions Ti and Tj, if Tj reads a data item previously written by
Ti, then the commit operation of Ti precedes the commit operation
of Tj.