PMIT-6102 Advanced Database Systems ByJesmin Akhter Assistant Professor, IIT, Jahangirnagar University Sample Questions Lecture-09 1. 2. 3. 4. Define Transaction. Draw and describe a transaction model. What do you mean by rollback? Explain Termination Condition of Transactions Describe Properties of Transactions Lecture-10 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Describe Transaction State Explain Shadow-database scheme What do you mean by Schedules? Give an example Describe conflict serializability and view serializability with example. What do you mean by Cascading and Cascadeless schedules rollback? Describe about Lock-compatibility matrix Pitfalls of Lock-Based Protocols Is Cascading roll-back is possible under two-phase locking? Explain Explain about strict two-phase locking, Rigorous two-phase locking Give an example from any of 3 classic problems Lost Update, Uncommitted Dependency, Inconsistent Analysis problems and How to prevent such problems?. Lecture-11 1. Describe the Role of the distributed execution monitor 2. Draw Detailed Model of the Distributed Execution Monitor 3. Explain Two-Phase Locking (2PL), Strict 2PL 4. Prove the Theorem "Two phase locking is a sufficient condition to ensure serializablility". 5. Depict a figure of Distributed 2PL Algorithm 6. What do you mean by Wait-for graph? Show the Local versus Global WFG. 7. Write a short notes about Deadlock Avoidance –Wait-Die & Wound-Wait Algorithms. 8. Explain about Distributed Deadlock Detection Lecture-12 1. What do you mean by A reliable distributed database management system 2. Define Reliability, Availability 3. Describe Fault Classification with diagram 4. What do you mean by System failures? Describe any two Types of Failures. 5. Draw and describe Local Recovery Management – Architecture Lecture-13 1. 2. 3. 4. 5. 6. Explain about In-Place Update Recovery Information with diagram. Why Logging? Describe UNDO Protocol and REDO Protocol. When to Write Log Records Into Stable Store? Explain about Write–Ahead Log Protocol Describe in details about Execution of LRM Commands. Describe Handing Media Failures –Full Architecture with diagram. Lecture-14 1. Describe about Functional Architecture of parallel database system . 2. Explain about shared-memory and shared-nothing Parallel DBMS Architectures. Lecture -13 Describe in details about Execution of LRM Commands. • There are five commands that form the interface to the LRM. – begin transaction, read, write, commit, and abort commands. • A sixth interface command to the LRM: recover. • The recover command is the interface that the operating system has to the LRM. • It is used during recovery from system failures when the operating system asks the DBMS to recover the database to the state that existed when the failure occurred. Execution of LRM Commands • The execution of some of these commands abort, commit, and recover is quite dependent on the specific LRM algorithms and on the interaction of the LRM with the buffer manager. • Others begin transaction, read, and write are quite independent of these considerations. Begin transaction, Read, and Write Commands • Begin transaction. – It causes the LRM to write a begin transaction record into the log. • Read. – The read command specifies a data item. The LRM tries to read the specified data item from the buffer pages that belong to the transaction. If the data item is not in one of these pages, it issues a fetch command to the buffer manager in order to make the data available. Upon reading the data, the LRM returns it to the scheduler. Execution of Commands • Write. – The write command specifies the data item and the new value. As with a read command, if the data item is available in the buffers of the transaction, its value is modified in the database buffers (i.e., the volatile database). – If it is not in the private buffer pages, a fetch command is issued to the buffer manager, and the data is made available and updated. The before image of the data page, as well as its after image, are recorded in the log. The local recovery manager then informs the scheduler that the operation has been completed successfully. Execution of LRM Commands • The fundamental design decision in the implementation of the local recovery manager, the buffer manager, and the interaction between the two components is – whether or not the buffer manager obeys the local recovery manager’s instructions as to when to write the database buffer pages to stable storage. • Specifically, two decisions are involved. The first one is – whether the buffer manager may write the buffer pages updated by a transaction into stable storage during the execution of that transaction, – or it waits for the LRM to instruct it to write them back. • We call this the fix/no-fix decision. Execution of LRM Commands • The second decision is – whether the buffer manager will be forced to flush the buffer pages updated by a transaction into the stable storage at the end of that transaction (i.e., the commit point), – or the buffer manager flushes them out whenever it needs to according to its buffer management algorithm. • We call this the flush/no-flush decision. • It is also called the force/no-force decision Tutorial Exam on Lecture09 and Lecture 10 1. 2. 3. 4. 5. 6. What do you mean by Cascading and Cascadeless schedules rollback? Describe Properties of Transactions Explain Shadow-database scheme Describe Pitfalls of Lock-Based Protocols Is Cascading roll-back is possible under two-phase locking? Explain Give an example from any of 3 classic problems Lost Update, Uncommitted Dependency, Inconsistent Analysis problems and How to prevent such problems? Best of Luck