Adaptive, fine-grained sharing in a client-server OODBMS: a callback-based approach

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 retrictive 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. Each of the approaches is based on extending the idea of callback locking. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workload that we have examined, our results indicate that the adaptive page server provides very good performance, usually outperforming the pure page server and the other page-server variants as well. In addition, the adaptive page server is often preferable to the pure object server; our results provides insight into when each approach is likely to perform better.

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

[2]  Michael J. Carey,et al.  Hierarchical, adaptive cache consistency in a page server OODBMS , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

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

[4]  C. Mohan,et al.  ARIES/CSA: a method for database recovery in client-server architectures , 1994, SIGMOD '94.

[5]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

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

[7]  O. Deux,et al.  The O2 system , 1991 .

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

[9]  Michael J. Carey,et al.  Fine-grained sharing in a page server OODBMS , 1994, SIGMOD '94.

[10]  Michael J. Carey,et al.  Hierarchical, Adaptive Cache Consistency in a Page Server OODBMS , 1998, IEEE Trans. Computers.

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

[12]  David J. DeWitt,et al.  Implementing crash recovery in QuickStore: a performance study , 1995, SIGMOD '95.

[13]  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.

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

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

[16]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[17]  Marianne Winslett,et al.  Minipage locking support for object-oriented page-server DBMS , 1994, CIKM '94.

[18]  Jacob Stein,et al.  The GemStone object database management system , 1991, CACM.

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

[20]  Michael J. Franklin,et al.  Client Data Caching: A Foundation for High Performance Object Database Systems , 1996 .

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

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

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

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

[25]  Brian Randell,et al.  Operating Systems, An Advanced Course , 1978 .

[26]  Won Kim,et al.  Architecture of the ORION Next-Generation Database System , 1990, IEEE Trans. Knowl. Data Eng..

[27]  Michael J. Carey,et al.  Highly concurrent cache consistency for indices in client-server database systems , 1997, SIGMOD '97.

[28]  Robert Gruber,et al.  Efficient optimistic concurrency control using loosely synchronized clocks , 1995, SIGMOD '95.

[29]  Erhard Rahm,et al.  Empirical performance evaluation of concurrency and coherency control protocols for database sharing systems , 1993, TODS.

[30]  Alfons Kemper,et al.  Dual-Buffering Strategies in Object Bases , 1994, VLDB.

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

[32]  Markos Zaharioudakis Highly concurrent cache consistency for object-oriented database systems , 1997 .

[33]  P. Gregory,et al.  February , 1890, The Hospital.

[34]  Liuba Shrira,et al.  Hybrid Caching for Large-Scale Object Systems , 1994, POS.

[35]  O. Deux,et al.  The O2 system , 1991 .

[36]  Liuba Shrira,et al.  Opportunistic log: efficient installation reads in a reliable storage server , 1994, OSDI '94.

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

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

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

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

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