1/34
Flashcards covering key vocabulary and concepts related to transaction management.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Transaction
Action, or series of actions, carried out by user or application, which reads or updates contents of database.
Transaction Outcomes
Success (transaction commits) or Failure (transaction aborts).
Atomicity
'All or nothing' property. A transaction is either fully completed, or not at all.
Consistency
Must transform database from one consistent state to another.
Isolation
Partial effects of incomplete transactions should not be visible to other transactions.
Durability
Effects of a committed transaction are permanent and must not be lost because of later failure.
Transaction Manager
Coordinates transaction on behalf of application program and communicates with scheduler.
Scheduler
Module responsible for implementing a particular strategy for concurrency control (sometimes referred to as the lock manager).
Recovery Manager
Ensures database is restored to the state it was in before the start of the transaction to maintain a consistent state.
Buffer Manager
Responsible for the efficient transfer of data between disk storage and main memory.
Concurrency Control
Process of managing simultaneous operations on the database without having them interfere with one another.
Lost Update Problem
Successfully completed update is overridden by another user.
Uncommitted Dependency Problem
Occurs when one transaction can see intermediate results of another transaction before it has committed.
Inconsistent Analysis Problem
Occurs when a transaction reads several values but a second transaction updates some of them during the execution of the first.
Serializability
Identifies those executions of transactions guaranteed to ensure consistency.
Serial Schedule
Schedule where operations of each transaction are executed consecutively without any interleaved operations from other transactions.
Non-Serial Schedule
Schedule where operations from a set of concurrent transactions are interleaved.
Conflict Serializable Schedule
Orders any conflicting operations in the same way as some serial execution.
View Serializability
Offers less stringent definition of schedule equivalence than conflict serializability.
Recoverability
Examining recoverability of transactions within schedule, if a transaction fails, atomicity requires effects of transaction to be undone.
Locking
Transaction uses locks to deny access to other transactions and to prevent incorrect updates.
Shared Lock (S)
If a transaction has a shared lock (S) on item, it can read but not update the item.
Exclusive Lock (X)
If a transaction has an exclusive lock (X) on an item, it can both read and update the item.
Two-Phase Locking (2PL)
Transaction follows 2PL protocol if all locking operations precede first unlock operation in the transaction.
Growing Phase
acquires all locks but cannot release any locks.
Shrinking Phase
releases locks but cannot acquire any new locks.
Cascading Rollback
If a transaction aborts, other transactions dependent on it must also be rolled back.
Deadlock
An impasse that may result when two (or more) transactions are each waiting for locks held by the other to be released.
Wait-Die
Only an older transaction can wait for a younger one, otherwise the transaction is aborted (dies) and restarted with the same timestamp.
Wound-Wait
Only a younger transaction can wait for an older one. If an older transaction requests a lock held by a younger one, the younger one is aborted (wounded).
Granularity
Size of data items chosen as unit of protection by concurrency control protocol.
Database Recovery
Process of restoring database to a correct state in the event of a failure.
Deferred Update
Updates are not written to the database until after a transaction has reached its commit point.
Immediate Update
Updates are applied to database as they occur.
Shadow Paging
Maintain two page tables during the life of a transaction: current page and shadow page table. Shadow page table is never changed thereafter and is used to restore the data in the event of failure.