littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于CMU15445框架的MiniSQL数据库系统

项目简介

MiniSQL是一个基于CMU - 15445 BusTub框架改写的数据库系统,其目的是兼容原MiniSQL实验指导的要求。该项目在保留缓冲池、索引、记录模块核心设计理念的基础上,进行了修改和扩展,以支持持久化数据页分配回收状态。

项目的主要特性和功能

  1. Disk Manager模块:扩展了位图页和磁盘文件元数据页,支持持久化数据页的分配和回收状态。
  2. Record、Index和Catalog Manager模块:通过内存对象的序列化和反序列化来持久化数据。
  3. Parser层:扩展Parser层,支持输出语法树供Executor层调用。
  4. B + 树索引:实现B + 树数据结构存储键值对,提升数据检索速度。
  5. 缓冲池管理器:采用LRU替换策略管理内存缓冲区,高效访问磁盘数据。
  6. 执行引擎:具备创建、删除、显示、使用数据库,显示、创建、删除表,显示、创建、删除索引,选择、插入、删除、更新数据,以及事务开始、提交、回滚和退出等功能。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件。

编译环境要求

  • MacOS:Apple clang版本需为11.0+,使用gcc --versiong++ --version查看。
  • Linux:gcc和g++版本需为8.0+,使用gcc --versiong++ --version查看。
  • cmake版本需为3.20+,使用cmake --version查看。
  • 可选:gdb版本需为7.0+,使用gdb --version查看。

构建项目

bash mkdir build cd build cmake .. make -j

运行测试

bash ./minisql_test

运行单个测试

bash make lru_replacer_test

通过上述步骤,可成功编译并运行MiniSQL数据库系统,同时进行相应测试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】