字节笔记本

2026年2月22日

rust-practice:Rust 学习项目合集,从实战掌握数据库核心技术

本文介绍 rust-practice,一个由 rosedblabs 开发的 Rust 学习项目合集。该项目包含三个精心设计的练手项目,帮助开发者通过实战掌握 Rust 编程语言的核心概念和常用技术。

项目简介

rust-practice 是 RoseDB Labs 开源的 Rust 学习项目集合,目前在 GitHub 上已获得 724 stars 和 93 forks。项目包含三个独立的子项目,分别涵盖了 KV 存储引擎、表达式解析和 MVCC 多版本并发控制等数据库核心概念。

通过这三个项目,你可以:

  • 入门并巩固 Rust 基础知识
  • 学习数据库底层实现原理
  • 积累真实的 Rust 项目经验
  • 掌握从基础类型到高级特性的完整知识体系

核心项目

1. mini-bitcask-rs - 极简 KV 存储引擎

基于 Bitcask 存储模型的极简磁盘 KV 存储引擎,仅用 300 行代码实现了最核心的逻辑。

可学习内容:

  • 数据类型、数组、整型等基础类型
  • match 表达式匹配
  • 函数定义与调用
  • 结构体设计与使用
  • 错误处理机制
  • 迭代器 Iterator 和 DoubleEndedIterator
  • 文件读写操作
  • BufWriter 和 BufReader
  • 单元测试撰写

参考资源:

2. expr-eval - 表达式解析计算

根据运算符优先级进行表达式计算,算法简洁优雅,巧妙利用优先级解决运算顺序和结合问题。

可学习内容:

  • 优雅简洁的表达式计算算法
  • 解决计算器类面试问题
  • Rust 基础数据类型、枚举、结构体
  • 函数与递归
  • match 表达式
  • 自定义 Result 错误处理
  • 迭代器的常见用法(next、peekable)
  • 自定义迭代器
  • Option 使用

详细介绍: 太优雅了!Rust 200 行代码实现表达式解析

3. mvcc - 多版本并发控制

实现极简的 MVCC(Multi-Version Concurrency Control)多版本并发控制,支持事务的提交、回滚,以及数据的 set、get、delete、scan 操作。

详细介绍: Rust 练手项目—实现 MVCC 多版本并发控制

重磅推荐:Rust 手写数据库教程

作者还提供了一个更完整的 Rust 数据库系统教程,从零实现一个完整的 SQL 数据库系统。教程由浅入深、循序渐进,从第一行代码开始均有完整的代码实现演示。

通过此教程你可以:

  • 入门并巩固 Rust 基础,涵盖数据类型、match 表达式、函数、闭包、结构体、泛型、Trait、所有权、借用、生命周期、错误处理、智能指针等
  • 增加 Rust 项目实战经验,数据库开发是巩固知识的理想实战项目

教程地址: https://w02agegxg3.feishu.cn/docx/OxwGdeM30oss7vxEG5AcUn4unEc

技术栈

  • 编程语言: Rust 100%
  • 相关主题: bitcask、kv-store

项目结构

text
rust-practice/
├── mini-bitcask-rs/    # Bitcask KV 存储引擎
│   ├── src/
│   ├── Cargo.toml
│   └── README.md
├── expr-eval/          # 表达式解析器
│   ├── src/
│   ├── Cargo.toml
│   └── README.md
├── mvcc/               # MVCC 多版本并发控制
│   ├── src/
│   ├── Cargo.toml
│   └── README.md
└── README.md

适用人群

  • 正在学习 Rust 的初学者
  • 希望巩固 Rust 基础知识的开发者
  • 对数据库底层实现感兴趣的工程师
  • 需要 Rust 项目经验的同学

项目链接

总结

rust-practice 是一个精心设计的 Rust 学习资源,通过三个小而美的项目,帮助开发者从理论走向实践。无论你是 Rust 新手还是希望提升项目经验的开发者,这个项目合集都能为你提供宝贵的学习素材。

分享: