Buffer Pool Management in Database Systems | CMU 15-445

Added:

DB Workloads
Buffer Pool Intro
Page Table & Meta
Locks vs. Latches
Global vs. Local
Prefetching Data
Scan Sharing
Cache Bypass
OS Page Cache
Replacement Policy

DB Workloads

0:01
Playing Section
  • 1

    Distinguishes OLTP and OLAP workloads and their system requirements.

  • 2

    Defines HTAP systems that combine both for real-time analytics.

  • 3

    Explains the ETL process for moving data between systems.

Understanding of the computer memory hierarchy, specifically the performance and latency differences between volatile RAM and non-volatile disk storage.
Basic concepts of Operating Systems memory management, including virtual memory, physical memory pages, and OS-level page replacement.
Knowledge of disk-oriented database storage structures, specifically how tables and indexes are mapped to fixed-size disk pages.
Familiarity with basic data structures, particularly Hash Tables and Doubly Linked Lists, which are essential for tracking pages in-memory.
Implementation of concurrency control within the buffer pool, including page latching (Read/Write locks) and tracking pin/reference counts to prevent active page eviction.
Advanced page replacement algorithms optimized for database workloads, such as LRU-K, 2Q, and CLOCK-Pro, to mitigate the sequential scan pollution problem.
Buffer pool optimization strategies, including sequential pre-fetching, scan sharing, and buffer pool bypass (direct I/O) for large bulk operations.
The integration of buffer pool state with Database Recovery mechanisms, specifically Write-Ahead Logging (WAL) and the STEAL/NO-FORCE buffer management policies.
43.8K views577likes1:18:59@CMUDatabaseGroupOriginal Release: 2019-09-12

A buffer pool is a memory cache that manages disk page access in database systems, using a page table to map page IDs to memory frames and employing replacement policies like LRU or Clock to decide which pages to evict when memory is full, with optimizations including multiple buffer pools, prefetching, scan sharing, and buffer pool bypass to minimize disk I/O and improve query performance.