Multi-Granularity Locks in an Object-Oriented Database
01 January 1993
Multi-granularity locking is widely accepted today as an important performance booster for concurrency control in relational databases. In this paper, we address the issues that arise in applying the same idea to an object-oriented database. First, objects can and often do participate in multiple collections, on several of which index structures may be constructed. Thus the hierarchy of locking granules may not be a directed acyclic graph (DAG), but rather an arbitrary graph when both inclusion and intersection are represented. Moreover, updates to the database could result in modifications to the graph. Secon, with encapsulated implementations providing interfaces to objects that are standard for type, it is both possible and benefit to define conflict relationships between pairs of operations allowed on objects of particular class. This, in turn, translates into a need for a rich and extensible set of lock types that can be used at different levels of the hierarchy.