quill-sql 0.2.0

A tiny yet serious SQL database in Rust with ARIES-style WAL, 2PL, and B+Tree indexes.
Documentation
1
2
3
4
5
6
7
8
9
10
# Buffer Manager

In any disk-based database, the speed difference between main memory (RAM) and persistent storage (SSD/HDD) is enormous. The **Buffer Manager** is the component designed to solve this problem. It acts as a cache, managing a region of main memory called the **Buffer Pool** and moving data pages between disk and memory as needed.

Its primary goal is to minimize disk I/O by keeping frequently accessed pages in memory.

This section is divided into the following parts:

- **[Page & Page Guards]../buffer/page.md**: Explains the core concepts of pinning and the RAII guards used to safely access pages.
- **[The Buffer Pool]../buffer/buffer_pool.md**: A deep dive into the architecture and lifecycle of a page request, including the page table, replacer, and concurrency.