Fine-grained sharing in a page server OODBMS

For reasons of simplicity and communication efficiency, a number of existing object-oriented database management systems are based on page server architectures; data pages are their minimum unit of transfer and client caching. Despite their efficiency, page servers are often criticized as being too restrictive when it comes to concurrency, as existing systems use pages as the minimum locking unit as well. In this paper we show how to support object-level locking in a page server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workloads that we have examined, our results indicate that a page server is clearly preferable to an object server. Moreover, the adaptive page server is shown to provide very good performance, generally outperforming the pure page server, the pure object server, and the other alternatives as well.

[1]  David J. DeWitt,et al.  The oo7 Benchmark , 1993, SIGMOD Conference.

[2]  J. Howard Et El,et al.  Scale and performance in a distributed file system , 1988 .

[3]  David J. DeWitt,et al.  Shoring up persistent applications , 1994, SIGMOD '94.

[4]  R. G. G. Cattell,et al.  Object operations benchmark , 1992, TODS.

[5]  David J. DeWitt,et al.  A Study of Three Alternative Workstation-Server Architectures for Object Oriented Database Systems , 1990, VLDB.

[6]  Michael J. Franklin Caching and Memory Management in Client-Server Database Systems , 1993 .

[7]  Lawrence A. Rowe,et al.  Cache consistency and concurrency control in a client/server DBMS architecture , 1991, SIGMOD '91.

[8]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[9]  David J. DeWitt,et al.  The 007 Benchmark , 1993, SIGMOD '93.

[10]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

[11]  Ashok M. Joshi,et al.  Adaptive Locking Strategies in a Multi-node Data Sharing Environment , 1991, VLDB.

[12]  Kevin Wilkinson,et al.  Maintaining Consistency of Client-Cached Data , 1990, VLDB.

[13]  Y. C. Tay,et al.  Locking performance in centralized databases , 1985, TODS.

[14]  A RoweLawrence,et al.  Cache consistency and concurrency control in a client/server DBMS architecture , 1991 .

[15]  Miron Livny,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991, SIGMOD '91.

[16]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[17]  Michael J. Carey,et al.  A Concurrency Control Algorithm for Memory-Resident Database Systems , 1989, FODO.

[18]  Michael J. Carey,et al.  Client-Server Caching Revisited , 1998, IWDOM.

[19]  C. Mohan,et al.  Recovery and Coherency-Control Protocols for Fast Intersystem Page Transfer and Fine-Granularity Locking in a Shared Disks Transaction Environment , 1991, VLDB.

[20]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[21]  David J. DeWitt,et al.  Crash recovery in client-server EXODUS , 1992, SIGMOD '92.

[22]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[23]  J CareyMichael,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991 .