The database buffer is a main-memory area used to cache database pages. Database processes request pages from the buffer manager, whose responsibility is to minimize the number of secondary memory accesses by keeping needed pages in the buffer. Because typical database workloads are I/O-bound, the effectiveness of buffer management is critical for system performance.
Buffer management was initially introduced in the 1970s, following the results in virtual memory systems. One of the first systems to implement it was IBM System-R. The high cost of main-memory in the early days forced the use of very small buffers and consequently moderate performance improvements.
The buffer is a main-memory area subdivided into frames, and each frame can contain a page from a secondary storage database file. Database pages are requested from the buffer manager. If the requested page is in the buffer, it is immediately returned to the requesting...
- 2.Coffman EG Jr, Denning PJ. Operating systems theory. Englewood Cliffs: Prentice-Hall; 1973.Google Scholar
- 3.Cai FF, Hull MEC, Bell DA. Buffer management for high performance database systems. In: Proceedings of the High-Performance Computing on the Information Superhighway; 1997. p. 633–8.Google Scholar
- 4.O’Neil EJ, O’Neil PE, Weikum G. The LRU-K page replacement algorithm for database disk buffering. In: Proceedings of ACM SIGMOD Conference; 1993. p. 297–306.Google Scholar
- 5.Johnson T, Shasha D. 2Q: a low overhead high performance buffer management replacement algorithm. In: Proceedings of the 20th International Conference on Very Large Data Bases; 1994. p. 439–50.Google Scholar
- 6.Lee D, Choi J, Kim J-H, Noh SH, Min SL, Cho Y, Kim CS. On the existence of a spectrum of policies that subsumes the least recently used (LRU) and least frequently used (LFU) policies. In: Proceedings of ACM SIGMETRICS Conference; 1999. p. 134–43.Google Scholar
- 7.Sacco GM, Schkolnick M. A mechanism for managing the buffer pool in a relational database system using the hot set model. In: Proceedings of the 8th International Conference on Very Data Bases; 1982. p. 257–62.Google Scholar
- 9.Chou H-T, DeWitt DJ. An evaluation of buffer management strategies for relational database systems. In: Proceedings of the 11th International Conference on Very Large Data Bases; 1985. p. 174–88.Google Scholar
- 11.Sacco GM. Index access with a finite buffer. In: Proceedings of the 13th International Conference on Very Large Data Bases; 1987. p. 301–9.Google Scholar
- 12.Kim W. A new way to compute the product and join of relations. In: Proceedings of 1980 ACM SIGMOD Conference; 1980. p. 179–87.Google Scholar
- 14.Ng R, Faloutsos C, Sellis T. Flexible buffer allocation based on marginal gains. In: Proceedings of ACM SIGMOD Conference; 1991. p. 387–96.Google Scholar
- 15.Storm AJ, Garcia-Arellano C, Lightstone SS, Diao Y, Surendra M. Adaptive self-tuning memory in DB2. In: Proceedings of the 32nd International Conference on Very Large Data Bases; 2006. p. 1081–92.Google Scholar
- 17.Kemper A, Kossmann D. Dual-buffering strategies in object bases. In: Proceedings of the 20th International Conference on Very Large Data Bases; 1994. p. 427–38.Google Scholar