# 基于C++的BusTub存储引擎
## 项目简介
BusTub是卡内基梅隆大学CMU 15445课程的Lab项目,旨在实现一个基础的存储引擎。该项目涵盖了缓冲池管理、索引管理、并发控制、日志记录与恢复等多个核心功能模块,帮助学生深入理解数据库系统的内部工作原理。
## 项目的主要特性和功能
### 1. 缓冲池管理(Buffer Pool)
缓冲池(Buffer Pool)负责将物理页面从主内存来回移动到磁盘,允许DBMS支持大于系统可用内存量的数据库。
LRU缓存替换策略使用LRU(Least Recently Used)策略减少磁盘IO次数,提高性能。
线程安全性使用互斥锁保证缓冲池的线程安全性。
### 2. 索引管理(Index)
B+树索引使用B+树作为底层数据结构,实现多级索引,支持快速随机查找和有序记录的高效访问。
节点粒度锁在多线程并发访问下,使用节点粒度的锁保证线程安全性。
2025-11-02 02:35:57
363KB
1