We propose an algorithm for executing transactions in object-oriented databases. The object-oriented database model generalizes the classical model of database concurrency control by permitting accesses to class and instance objects, by permitting arbitrary operations on objects as opposed to traditional read and write operations, and by allowing nested execution of transactions on objects. In this paper, we first develop a uniform methodology for treating both classes and instances. We then develop a two-phase locking protocol with a new relationship between locks called ordered sharing for an object-oriented database. Ordered sharing does not restrict the execution of conflicting operations. Finally, we extend the protocol to handle objects that execute methods on other objects thus resulting in the nested execution of transactions. The resulting protocol permits more concurrency than other known locking-based protocols.
|Number of pages||25|
|Journal||Distributed and Parallel Databases|
|Publication status||Published - 1 Jan 1994|
ASJC Scopus subject areas
- Computational Theory and Mathematics
- Information Systems
- Theoretical Computer Science