Adaptive Locking
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
Abstract
Adaptive locking is a new concurrency control scheme for relational database systems. An adaptive locking scheduler automatically issues to each transaction appropriate locks on its read and write sets. The read and write sets of transactions are exactly the parts of the shared database that it is necessary and sufficient to lock in order to prevent all state and view inconsistencies. This paper shows how to compute logical expressions representing the read and write sets of access statements and describes an efficient algorithm to check whether the locks issued to different transactions cause them to conflict. The algorithm is based on extended tableaux capable of representing all conjunctive queries. The paper discusses how to use adaptive locking with complex queries and compares the new scheme to conventional locking. A prototype database system demonstrating how an adaptive locking scheduler reasons about conflict is presented.