For each lecture, we'll post slides, an outline of the content, a
recording, and supplemental reading. Slides will be up before lecture
(but not necessarily at 9:00am); we post slides with all animations
(good for following along exactly) and with limited animations (good
for studying/taking notes on). The outline and recording will be
posted after lecture (but not necessarily at 3:00pm; likely the next
day or so). You can do the supplemental reading before or after
lecture; whatever works best for you.
If you have any trouble accessing any of these materials, please post a note on Piazza and we'll help.
After this lecture,
at a minimum, you should be able to do the following:
- Define atomicity and isolation and explain how they make handling failures easier
- Explain why the bank-transfer transaction crashing in the middle of the transfer, or while writing the accounts file, can cause problems (i.e., explain the problem that we use shadow copies to solve)
- Explain how we're able to make rename atomic, and what the commit point is
- Explain the purpose of a recovery process
There are no practice problems explicitly for shadow copies. To ensure that you understand atomicity and isolation, check out the practice problems from
Lecture 17 and
Lecture 18.