does DBMS use OS’s buffer manager?
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