15-445 数据库课程学习总结
本文最后更新于:3 年前
背景
众所周知,CMU 15-445/721 是数据库的入门神课,类似于 MIT 6.824 之于分布式系统一样。由于前半年学习了 MIT 6.824 课程后感觉个人收获很大,因此在今年暑假,我抽时间学习完了 CMU 15-445 的网课,现做一概要总结。
总结
15-445 可以当做数据库的入门课程,授课老师是著名网红教授 Andy Pavlo,以下是他的 Google Scholar 主页,还是非常厉害的。
本课程的组织方式采用了自底向上的方式,分别介绍了文件管理,缓冲池管理,索引管理,执行管理,查询优化,并发控制和容错恢复等内容,基本讲述了如何从 0 实现一个单机关系型数据库。由于时间有限,没来得及做课程笔记。因此在参考资料部分列出了课程所有的 PPT 资料以及一些从网上找到的优质课程笔记,以备日后温习之用。
当然,由于课程内容涉及的范围很广,所以每个章节都只是进行了相对简单的介绍。要想了解更多细节,建议结合大黑砖《数据库系统概念》来学习。2021 年 6 月,最新第七版的中文译版已经发行,赶紧买一本镇脑吧!
对于其作业 bustub,由于其需要基于 C++17 实现,而本人在目前没有太多的 C++ 知识储备,所以就暂时搁置了,毕竟想学的是数据库而不是 C++。不过我也注意到,MIT 6.830 数据库课程的作业 simple-db 是基于 Java 的,且其 6 个 lab 的内容基本覆盖了 CMU 15-445 lab 的内容,所以刷一刷 MIT 6.830 的 lab 也挺有意义的,希望自己后半年能抽出些时间吧。
此外,简单看了一下 15-721 的 课程主页,感觉其更多的是在讲 research 方向的工作,基本是在讲各个方向的 sota,那么这门课可以等到工作之后再说吧,目前来看优先级不是很高。