The techniques to implement the
ACID properties of transactions
Intro to logging:
the log or
log file
Intro to logging:
writing the log (records)
The primitive system operations used to model transaction processing
The primitive system operations used to model transaction processing
INPUT(X):
The primitive system operations used to model transaction processing
READ(X,t):
Copy/transfer the
DB element X
to the transaction's
local variable t
The primitive system operations used to model transaction processing
READ(X,t):
Copy/transfer the
DB element X
to the transaction's
local variable t
The primitive system operations used to model transaction processing
WRITE(X, t):
Copy/transfer the
value
in the transaction's
local variable t to
the
DB element X
The primitive system operations used to model transaction processing
WRITE(X, t):
Copy/transfer the
value
in the transaction's
local variable t to
the
DB element X
The primitive system operations used to model transaction processing
OUTPUT(X):
The primitive system operations used to model transaction processing
- summary
Summary:
Size of a database element - assumption
This assumption make it
impossible to
read a
database element
partially
Example of primitive operations used by transactions
Example of primitive operations used by transactions
Effect of each
primitive operation:
The actions stored in
log records
The action is one of the
primitive operations used by
the user program:
- Read some
database element X
(from a buffer) into a memory variable t
- Write the
value from a memory variable t
to a
database element
(stored in buffer)
|
Schematically:
The Transaction Manager
Tasks performed
by the Transaction Manager:
- Maintaining the
log file
- Concurrency control
|
The Transaction Manager
Maintaining the
log file
The Transaction Manager
Concurrency control:
❮
❯