Percolator
Notes Bigtable doesn’t support multi-row/multi-table transactions. Why does Google need multi-table transactions? Removing duplicates(Multiple URLs may lead to the same website), calculation of pagerank will get affected. Built on top of big table, because didn’t have that many people working on it and also didn’t have source code access to big table. Locks Locks in percolator could have been implemented in two ways - In place(in database) Problem with this is that you can’t maintain complex locks with queues and techniques like wound wait, wait die, etc. Database overhead Standalone lock service Why is Snapshot Isolation used instead of Optimistic Concurrency Control? Because OCC requires complex locking mechanisms like queues to hold pending locks. ...