
CMU 15-445 数据库
文章平均质量分 95
CMU 15-445 数据库系统课程项目bustub
Altair_Alpha_
这个作者很懒,什么都没留下…
展开
-
【CMU15-445数据库】bustub Project #2:B+ Tree(下)
Project 2 最后一篇,讲解 B+ 树并发控制的实现。说实话一开始博主以为这块内容不会很难(毕竟有 Project 1 一把大锁摆烂秒过的历史x),但实现起来才发现不用一把大锁真的极其痛苦,折腾了一周多才弄完。本文分基础版算法和改进版算法两部分,基础版算法部分我就只讲实现的一些要素,改进版算法再放重要代码,避免两个版本的代码引起混乱。由于加了并发控制后代码改变的位置比较多,我这里贴的截图不能覆盖到所有,如果需要源码可以评论区或私信联系。原创 2023-03-05 20:47:31 · 5269 阅读 · 55 评论 -
【CMU15-445数据库】bustub Project #2:B+ Tree(中)
本篇继续讲解 Project 2:B+ 树的实现。让我们先从相对简单的迭代器实现开始,然后讲述删除的实现。因为删除部分篇幅较长,并发控制我们放到下一篇再讲。原创 2023-02-21 23:16:29 · 3112 阅读 · 28 评论 -
【CMU15-445数据库】bustub Project #2:B+ Tree(上)
Project 2 要实现的是数据结构课上都会讲的一个经典结构 B+ 树,但是相信大多数的同学(包括博主)当时都没有自己动手实现过它,本节就是一个很好的锻炼机会。原创 2023-02-17 18:00:08 · 4377 阅读 · 16 评论 -
【CMU15-445数据库】bustub Project #1:Buffer Pool
Project 1 共需完成三个任务:可扩展哈希表(Extendible Hash Table)、LRU-K 置换策略(LRU-K Replacement Policy)以及缓冲池管理(Buffer Pool Manager),其中缓冲池的实现会用到前两个,建议就按文档给的顺序实现。关于代码,首先这里主要就是我个人的一个记录空间,文章也就一两百访问量还是中文,不会真有 CMU 学生来看吧(况且写这篇时也早已过了 DDL)。其二,我比较想展示一些具体实现上比较符合 C++ 的代码风格。另外,我对做这种项目时不原创 2022-11-09 23:54:09 · 6776 阅读 · 43 评论 -
【CMU15-445数据库】bustub Project #0:Trie 树实现(C++ Primer)
第 0 个 Project 名为 C++ Primer,目标是实现一个字典树(Trie),内容不难,主要是测试参与者的 Modern C++ 编程水平,对于选课的 CMU 学生如果感觉比较吃力可能就要劝退了。本节要实现的内容全部在文件中。字典树(Trie)是一种有序的树形结构,能够存储键值对并高效地进行前缀匹配,详细介绍可以自行百度。例如插入两个键值对("ab", 1)和,则形成下图的结构:root 是根节点,不存储键;a 是一个非终结节点,只存储键;原创 2022-10-27 16:40:28 · 5298 阅读 · 5 评论 -
【CMU15-445数据库】bustub 项目介绍及环境配置
突然想起来之前一直想做的 CMU 15-445 课程的 2022 Fall 学期开课了,所以决定把 Pintos 项目先放一放,开个新坑跟着 CMU 同步把这个项目做了。原创 2022-10-27 10:43:28 · 6441 阅读 · 0 评论