Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Buffer Management

  • Giovanni Maria Sacco
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_858

Definition

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.

Historical Background

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.

Scientific Fundamentals

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...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Effelsberg W, Haerder T. Principles of database buffer management. ACM Trans Database Syst. 1984;9(4):560–95.CrossRefGoogle Scholar
  2. 2.
    Coffman EG Jr, Denning PJ. Operating systems theory. Englewood Cliffs: Prentice-Hall; 1973.Google Scholar
  3. 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. 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. 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. 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. 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
  8. 8.
    Sacco GM, Schkolnick M. Buffer management in relational database systems. ACM Trans Database Syst. 1986;11(4):473–98.CrossRefGoogle Scholar
  9. 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
  10. 10.
    Belady LA. A study of replacement algorithms for a virtual-storage computer. IBM Syst J. 1966;5(2):78–101.CrossRefGoogle Scholar
  11. 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. 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
  13. 13.
    Sacco GM. Fragmentation: a technique for efficient query processing. ACM Trans Database Syst. 1986;11(2):113–33.CrossRefGoogle Scholar
  14. 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. 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
  16. 16.
    Goh L, Shu Y, Huang Z, Ooi C. Dynamic buffer management with extensible replacement policies. VLDB J. 2006;15(2):99–120.CrossRefGoogle Scholar
  17. 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
  18. 18.
    Corral A, Vassilakopoulos M, Manolopoulos Y. The impact of buffering on closest pairs queries using R-trees. In: Proceedings of the 5th East European Conference on Advances in Databases and Information Systems; 2001. p. 41–54.CrossRefGoogle Scholar
  19. 19.
    Gu X, Ding C. A generalized theory of collaborative caching. SIGPLAN Not. 2012;47(11):109–20.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Dipartimento di InformaticaUniversità di TorinoTorinoItaly

Section editors and affiliations

  • Evaggelia Pitoura
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of IoanninaIoanninaGreece