diff --git a/docs/数据库系统/15445.en.md b/docs/数据库系统/15445.en.md new file mode 100644 index 00000000..63275881 --- /dev/null +++ b/docs/数据库系统/15445.en.md @@ -0,0 +1,38 @@ +# CMU 15-445: Database Systems + +## Descriptions + +- Offered by: CMU +- Prerequisites: C++, data structures, algorithms +- Programming Languages: C++ +- Difficulty: 🌟🌟🌟🌟 +- Class Hour: 100 hours + +As an introductory course of database at CMU, this course is taught by Andy Pavlo, a great expert in the field of database. 15-445 will teach you the basic topics of database systems from the bottom up: storage architectures, indexing, query processing, and concurrency control. The highlight of this course is that CMU db has developed a relational database management system for the Introduction: [Bustub](https://github.com/cmu-db/bustub). And you are required to modify this database to implement the functions mentioned above. Moreover, as a small and medium-size projects written in C++, bustub covers program construction, code specification, unit testing, etc., and can be an excellent open source project to study. + +## Resources + +- Course Website: [Fall2019](https://15445.courses.cs.cmu.edu/fall2019/schedule.html), [Fall2020](https://15445.courses.cs.cmu.edu/fall2020/schedule.html), [Fall2021]((https://15445.courses.cs.cmu.edu/fall2021/schedule.html) +- Assignments: refer to the course website +- Textbook: Database System Concepts +- Assignments: 4 Projects + +In Fall 2019, the second Project is to implement a hash table, and the fourth Project is to implement Logging, Recovery, and Checkpoints in your database system. + +In Fall 2020, the second Project is to implement B+Tree dynamic index structure, and the fourth Project is to implement concurrency control. + +In Fall 2021, the first Project is to implement a buffer pool, the second Project is to implement a hash table, and the fourth Project is to implement concurrency control. + +If you have more time you can try them all, and when you do not understand the textbook very well, try to code to implement the project will increase your understanding. + +## Personal Resources + +All the resources and assignments used by @ysj1173886760 in this course are maintained in [ysj1173886760/Learning: db - GitHub](https://github.com/ysj1173886760/Learning/tree/master/db) + +Due to Andy's request, there is no implementation of Project in the repository, only the Solution of Homework. In particular, for Homework1, @ysj1173886760 wrote a shell script to help you evaluate the scores automatically. + +After the course, it is recommended to read a paper: [Architecture Of a Database System](https://github.com/ysj1173886760/paper_notes/tree/master/db) This paper provides an overview of the overall architecture of database systems, so that you can have a more comprehensive view of the database. + +## Advanced courses + +[CMU15-721](https://15721.courses.cs.cmu.edu/spring2020/) mainly focuses on in-memory database, and each class has a corresponding paper to read, and is recommended for those who wish to advance in the database. ysj1173886760 is currently following up on this course, and will create a pull request here after completing it to provide advanced guidance. \ No newline at end of file