Readings list and Exam Preparation, 6/2/98
COM1317, Transaction Processing, Spring 1998, Professor R. P. Futrelle
Note: This document also appears on the course web site.
This document primarily list those sections in the textbook that cover important topics for the course, topics that you should understand and may be on the final exam. The final exam will be cumulative, simply because the structure of the course has been to get deeper into knowledge of transaction processing by accumulating understanding.
Your most important review and summary material is the set of six notes that you received during the quarter. All the underlined terms in those notes are ones you should recognize and understand. Any additional ideas that were emphasized in the Notes, lectures, and textbook are important also, whether or not they correspond to underlined terms.
I think we've drilled on serializability so much that everyone understands it well. There'll be a short problem on it just to confirm that you haven't already forgotten it. On the basis of the homework, I'd say that there are two problems that some of you need to be on the alert for: 1) There are never lock conflicts and corresponding waits between two read operations (shared (S) locks) between two transactions reading the same variable, and 2) once a transaction goes into a wait state, it makes zero progress until the other transaction(s) complete by releasing the lock it's waiting for. Be ready for a problem involving three or four simultaneous transactions. They're not logically any more complex than one pair. Experiment on your own with such examples.
Instead of trying to coalesce various past lists that I gave you of what you should read in Gray and Reuter, I've gone through the book afresh and listed those sections that are most relevant to the course as it has finally worked out. Also, I've slimmed down the list to the more important points that you should be on top of for the Final. Some of the material listed is right to the point, and some is more background reading to help get the concepts sorted out. I don't try to make all these fine distinctions below; I think you'll be able to tell as you read the sections, or at least I hope you can by now. The overall goal of the reading list below is to help you gain a good overview of the course and to help in the practical task of preparing for the Final. But remember, the Notes and my lectures are the primary material in this course -- the readings below are slightly less important. Some of the readings below are complex and wander into areas not covered in the Notes or lectures. So you should read the material in the text primarily as additional support for the Notes and lectures. Focus on the parts of the text that overlap with the Notes and lectures. Sometimes this will mean concentrating on one part of a paragraph and ignoring the rest. You'll have to read carefully to make it work for you.
Readings in Gray and Reuter -- Final list for the quarter --
Inside front cover: Know your units, e.g., "b" vs. "B".
Background: pgs. 3-13
Useful background in units, hardware: pgs. 47-57
Simple probability, MTTF, MTTR: pgs. 93- top of 99
Sec 3.6 (pgs. 115-116)
Chap. 4: Transactions, pgs. 159-173
Distributed transaction note: Sec. 4.8, pgs. 202-203
Chap. 7: Isolation, pgs. 375-391. Lock granularity Sec. 7.7 through 7.8.3
Chap. 9: Recovery, pgs. pgs. 493-503
Chap. 10: Rollback and restart, pgs. 529-562. Two-phase commit, pgs. 562-574.
Chapters 11 and 12 have additional material on recovery. You may want to browse in them to find further details on particular points.