Verified Solutions
Transaction ANS User program that can either read or write data from or to the database system
ACID ANS Atomicity, Consistency, Isolation and Durability
ACID - Atomic ANS All or nothing - Transaction must be completed in full or not at all (no subdividing)
ACID - Consistency ANS Transactions will transform the database from one consistent state to another.
There are no violations of integrity constraints.
ACID - Isolated ANS Transactions execute independently of one another. Database changes are not
revealed to one another until after a transaction has completed.
Serializable - even if some transactions are executed concurrently the results must be the same as if they were
executed serially in some order.
ACID - Durable ANS Database changes are permanent.
How is concurrency achieved in DBMS? ANS Interleaving actions of multiple transactions.
Serial Schedule ANS Schedule that does not interleave the actions of different transactions.
Equivalent Schedule ANS Effect of executing the first schedule is identical to the effect of executing the
second schedule.
Serializable Schedule ANS A schedule that is equivalent to some serial execution of the transaction.
Two schedules are conflict equivalent if: ANS - Schedules involve the same actions of the same
transactions
- Every pair of conflicting actions (read/write conflict) is ordered the same way
, Conflict Serializable Schedule ANS Schedule S is conflict serializable if S is conflict equivalent to some
serial schedule.
Creating dependency graph to determine if transactions are conflict serializable ANS -Create one node per
transaction (e.g. Ti, Tj)
-Create an edge from Ti to Tj if Tj reads/writes an object last written by Ti
-Examine the graph for cycles. If a cycle exists then the set of transactions is NOT conflict serializable
Strict Two Phase Locking ANS A transaction must acquire a shared lock on an item before reading and an
exclusive lock on an item before writing.
-Multiple transactions may hold a shared lock on a single item.
-If a transaction holds an exclusive lock on an item no other transaction may hold a shared/exclusive lock on
that same item.
Define the two phases of Strict 2PL ANS Phase One: transaction will acquire locks that it needs
Phase Two: transaction will release locks at the end of the transaction
What is the lock manager? ANS The lock manager handles lock and unlock requests. These operations are
atomic.
What is deadlock and how do we detect it? ANS Cycle of transactions waiting for locks to be released by
one another.
We can detect a deadlock by creating a wait-for graph:
-Nodes are transactions
-Create an edge from Ti to Tj if Ti is waiting for Tj to release a lock (Tj holds exclusive lock on object that Ti
needs access to)
-If cycle exists there is a deadlock
Shared vs Exclusive Lock ANS Shared lock: required to read from an object
Exclusive lock: required to write to an object
Types of Failures: Transaction, System, Media, Communication ANS -Transaction: transaction is aborted
(~3% abort abnormally)