Isolation Concepts (Chp. 7, part 2, Transaction processing book)
Continuing with our Transaction Processing book reading , the second part of Chapter 7 covers degrees of isolation (and them co-existing), phantoms and predicate locks, how to implement predicate locking efficiently (via intent locks, and more exotic techniques), scheduling of locks, and dealing with deadlocks. I really liked these sections, as they contain many nice algorithmic ideas. The DB guys back then seemeed to have fun designing and then implementing these locking algebra/techniques. I miss the days where we could make up stuff/theory from first principles (because that is the "right" elegant thing to do) and implement them with no fuss. Nowadays everything is too complicated, and we deal pieces in systems of systems where each things touches so many other that we are often zugzwanged out of innovation. Below I borrow several paragraphs from the book to give a brief summary of the second part of Chapter 7. Degrees of isolation Locking helps to provide the isolation