does DBMS use OS’s buffer manager?

tags: learning database

content

since DBMSs are implementing their own buffer manager, do they still rely on Operating System’s buffer manager?

  • no
  • DBMSs still rely on syscalls to OS to perform disk I/O. they do NOT have direct instructions to disk drivers
  • but DBMSs use I/O syscalls with flags that disable OS’s buffer caching
    • disable OS’s buffering caching to avoid double caching
    • we don’t need a page to be cached both in kernel space and user space
    • DBMS buffer pool is in user space

why?

  • because OS does NOT know about higher level application use case of data
    • OS is not aware of the concepts of indexes, transactions, normal tables
  • OS treats all data pages equally
    • index pages: should always be in memory
    • sequential scans: different eviction algo
    • temporary tables: no cache needed at all

up

down

reference