A Lock Technique for Disjoint and Non-Disjoint Complex Objects
Using database systems in the field of non-standard applications like engineering, robotics, etc. leads to many new requirements. Some of the major ones are support of (disjoint and non-disjoint) cornplex objects and of long transactions. These requirements disclose severe drawbacks of traditional concurrency control techniques: Transactions are either serialized unnecessarily or the concurrency control overhead grows drastically. Furthermore, traditional lock protocols cannot be applied in a straightforward way to non-disjoint cornplex objects. In this paper, a new concurrency control technique is proposed which is derived from the well-known DAG-locking mechanism of System R. The proposed technique avoids most disadvantages of traditional methods. Accesses to non-disjoint complex objects and to their common data can be properly synchronized. Furthermorc, a high degree of concurrency with acceptable overhead is achieved on disjoint and non-disjoint, non-recursive cornplex objrcts. All this is attained by the use of appropriate lock granules within the structure of complex objects, by a spccial protocol for requesting locks, and by the anticipation of lock escalations. Lock granules within thc structure of complex objects are represented in object-specific lock graphs; query-specific lock graphs show the anticipation of lock escalations. The benefits of the proposed technique are evaluated qualitatively.
Nutzung und Vervielfältigung:
Alle Rechte vorbehalten