cs-self-learning/docs/数据库系统/15445.md
2021-12-22 18:20:46 +08:00

36 lines
No EOL
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CMU 15-445: Database Systems
## 课程简介
- 所属大学CMU
- 先修要求C++,数据结构与算法
- 编程语言C++
- 课程难度:🌟🌟🌟🌟
- 预计学时100小时
作为CMU数据库的入门课这门课由数据库领域的大牛 Andy Pavlo讲授“这个世界上我只在乎两件事一是我的老婆二就是数据库”。15-445会自底向上地教你数据库系统的基本组成部分存储、索引、查询以及并发事务控制。
这门课的亮点在于CMU db专门为此课开发了一个教学用的关系型数据库[bustub](https://github.com/cmu-db/bustub),并要求你对这个数据库的组成部分进行修改,实现上述部件的功能。此外 bustub作为一个C++编写的中小型项目涵盖了程序构建、代码规范、单元测试等众多要求,可以作为一个优秀的开源项目学习。
## 课程资源
- [课程网站(Fall2019)](https://15445.courses.cs.cmu.edu/fall2019/schedule.html), [课程网站(Fall2020)](https://15445.courses.cs.cmu.edu/fall2020/schedule.html#)
- 课程视频:课程网站免费观看
- 课程教材Database System Concepts
- 课程作业4个Project
在Fall2019中第二个project是做哈希索引第四个project是做日志与恢复
在Fall2020中第二个project是做B树第四个project是做并发控制
如果大家有精力的话可以都去尝试一下,或者在对书中内容理解不是很透彻的时候,尝试用代码写一个会加深你的理解。
我在学习这门课中用到的所有资源和作业实现都汇总在[这个Github仓库](https://github.com/ysj1173886760/Learning/tree/master/db)中。
由于Andy的要求仓库中没有project的实现只有homework的solution。特别的对于homework1我还写了一个shell脚本来帮大家执行自动判分
另外在课程结束后,我十分推荐阅读一篇论文[Architecture Of a Database System](https://github.com/ysj1173886760/paper_notes/tree/master/db),对应的中文版我上传到了链接中的仓库。论文里综述了数据库系统的整体架构,让大家可以对数据库有一个更加全面的视野。
## 后续课程
[CMU15-721](https://15721.courses.cs.cmu.edu/spring2020/)
主要讲主存数据库有关的内容每节课都有对应的paper要读推荐给希望进阶数据库的小伙伴
我目前也在跟进这门课完成后会在这里提PR以提供进阶的指导