what’s buffer pool in dbms

tags: learning database

content

  • it’s a part of DBMS that’s responsible for disk I/O

    • i.e., moving data to and from memory and disk
    • it decides the content in memory
    • it gets pages from disk to memory, and passes a pointer to the data back to high level of dbms (execution engine)
      • it maps page id to RAM address
  • it also acts as a cache

    • frequently accessed data are cached in memory
  • two things DBMS is optimizing

    • spatial control: pages that are often accessed together should be physically stored closer to each other on disks
    • temporal control: when to read from disk and when to write back to disks
  • by implementing its own buffer pool and not relying on OS to manage pages, DBMS gets to decide its own page replacement policy

    • i.e., DBMS decides when to evict or flush what pages
    • DBMS operates on the concept of transactions, and OS doesn’t know anything about transactions

up

down

reference