Unified fine-granularity buffering of index and data: approach and implementation

Disk I/O is recognized as a major performance bottleneck in many database applications. Consequently, a topic of considerable study in database systems has traditionally been buffer management. Recently, disk pages have been increasing in size, enabling more and more data to fit in a single page. Such a trend suggests that buffering the data at a grain size finer than a page may use memory better. As a result, there has been some interest in fine-granularity buffering. Past approaches to fine-granularity buffering have proposed buffering either data tuples alone or index entries alone. In this paper, we propose a scheme to support fine-granularity buffering of both index and data entries in a unified manner. The scheme, which we call Hot-Entry buffering, can be used in combination with conventional page-level buffering. Through the experimental evaluation of a simple system, we demonstrate the benefits of our scheme over conventional page-level buffering, and over index-only and data-only fine-granularity buffering. In particular, we show that, for a range of parameter values, our buffering scheme speeds-up query execution by 20-60% relative to page-level buffering only, and by 10-20% relative to the best of index-only or data-only fine-granularity buffering.

[1]  Ali R. Hurson,et al.  On The Performance of Object-Based Buffering. , 1991 .

[2]  Tamer M. Özsu,et al.  An Adaptive Hybrid Server Architecture for Client Caching Object , 1999 .

[3]  Kenneth Baclawski,et al.  Quickly generating billion-record synthetic databases , 1994, SIGMOD '94.

[4]  Beng Chin Ooi,et al.  GHOST: Fine Granularity Buffering of Indexes , 1999, VLDB.

[5]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[6]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[7]  M. Tamer Özsu,et al.  An Adaptive Hybrid Server Architecture for Client Caching ODBMSs , 1999, VLDB.

[8]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[9]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

[10]  Miguel Castro,et al.  Fragment reconstruction: providing global cache coherence in a transactional storage system , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[11]  Josep Torrellas,et al.  Performance characterization and buffer memory optimization of database , 2000 .

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

[13]  Abraham Silberschatz,et al.  Database Systems Concepts , 1997 .

[14]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[15]  Giovanni Maria Sacco,et al.  A Mechanism for Managing the Buffer Pool in a Relational Database System Using the Hot Set Model , 1982, VLDB.

[16]  Richard Anderson,et al.  Oracle Rdb's record caching model , 1998, SIGMOD '98.

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

[18]  Ali R. Hurson,et al.  On the performance issues of object-based buffering , 1991, [1991] Proceedings of the First International Conference on Parallel and Distributed Information Systems.

[19]  Jay Banerjee,et al.  Integrating an object-oriented programming system with a database system , 1988, OOPSLA 1988.