CSIS 326 Final Exam Study Guide
Transaction
A collection of operations that form a single logical unit of work
Schedule (History)
A list of operations (such as reading, writing, aborting, or committing) from a set of transactions
Serializable Schedule
A schedule in which the consistency of the database under concurrent execution can be ensured by the interleaving the operations of transactions in such a way that the final output is the same as that of some serial schedule of those transactions.
Conflict Serializable
A schedule which is conflict equivalent to some serial schedule.
States of a transaction
Active, partially committed, committed, failed
Serial Schedule
Consists of a sequence of instructions from various transactions, where the operations of one single transaction appear together in that schedule
Precedence Graph (Serialization Graph)
Constructed by the conflict serializability of a schedule that is tested using a simple algorithm that considers only read and write operations in a schedule
Lost Update
If the operations of T1 and T2 are interleaved in such a way that T2 reads the value of account A before T1 updates its value in the database. Now, when T2 updates the value of account A in the database, the value of account A updated by the transaction T1 is overwritten and lost.
Isolation
Implies that each transaction appears to run in isolation with other concurrently running transactions
Atomicity
Implies that either all the operations that make up a transaction should execute or none of them should occur
Consistency
Implies that if all the operations of a transaction are executed completely, the database is transformed from one consistent state to another
Durability (Permanence)
Implies that once a transaction is completed successfully, the changes made by the transaction persist in the database, even if the system fails
Dirty Read
Occurs when a transaction fails after updating a data item, and before this data item is changed back to its original value, another transaction reads the updated value.
Unrepeatable Read
Occurs when a transaction tried to read the value of the data item twice, and another transaction updates the same data item in between the two read operations of the first transaction. Thus, the first transaction reads varied values of same data item during its execution
ACID properties
Properties to ensure the integrity of data- Atomicity, consistency, isolation, and durability
Interleaved Execution
The concurrent execution of two or more transactions in which the database management system control the transaction in parallel
Throughput
The number of transactions executed in a given amount of time
Compensating Transaction
The only way to reverse the effects of a committed transaction
Topological Sorting
The process of ordering the nodes on an acyclic preceding graph
READ
Transfers a data item from the database to a local buffer of the transaction that has executed the read operation
WRITE
Transfers the data item from the local buffer of the transaction back to the database
Conflict
Two operations in a schedule are said to conflict if they belong to different transactions, access the same data item, and at least one of them is the write operation
Conflict Equivalent
Two schedules with which the order of any two conflicting operations is same in both schedules.
Result Equivalent
When two different schedules produce the same final state of the database
Non-Serial Schedule
When two or more transactions are executed concurrently, the operating system may execute one transaction for some time, then perform a context switch and execute a different transaction for some time, then switch back to the first transaction and so on