Skip to content

Commit

Permalink
[TRANSLATION] translate 15445.md and fix a typo (PKUFlyingPig#301)
Browse files Browse the repository at this point in the history
* [TRANSLATION] translate 15445.md

* Update 15445.en.md
  • Loading branch information
smxm authored Oct 31, 2022
1 parent 0130450 commit 319c154
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
39 changes: 39 additions & 0 deletions docs/数据库系统/15445.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# CMU 15-445: Database Systems

## Descriptions

- Offered by: CMU
- Prerequisites: C++, Data Structures and Algorithms
- Programming Languages: C++
- Difficulty: 🌟🌟🌟🌟
- Class Hour: 100 hours

This is an introductory course on databases at CMU taught by Andy Pavlo, a great expert in the field of databases. It teaches the basic topics of database systems from the bottom up, covering storage management, indexing, query processing, concurrency control, transactions, and so on.

The course project [Bustub](https://github.com/cmu-db/bustub) is an educational database system developed at CMU by the course instructors. During the semester, you will modify this database to implement the functions mentioned above. Moreover, as a well-written project in C++, Bustub obeys many modern development best practices, such as code specification, unit testing, cmake module build, etc. So it 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, trying to implement the real system will deepen your understanding.

## Personal Resources

All the resources and assignments used by [@ysj1173886760](https://github.com/ysj1173886760) in this course are maintained in [ysj1173886760/Learning:db - GitHub](https://github.com/ysj1173886760/Learning/tree/master/db)

Due to Andy's request, the repository does not contain the source code for the project, only the solution for homework. In particular, for Homework1, [@ysj1173886760](https://github.com/ysj1173886760) wrote a shell script to help you evaluate your solution automatically.

After the course, it is recommended to read the 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/) is a graduate-level course on advanced database system topics. It mainly focuses on the in-memory database, and each class has a corresponding paper to read. It is suitable for those who wish to do research in the field of databases. [@ysj1173886760](https://github.com/ysj1173886760) is currently following up on this course and will create a pull request here after completing it to provide advanced guidance.
2 changes: 1 addition & 1 deletion docs/数据库系统/15445.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

在 Fall2020 中,第二个 Project 是做 B 树,第四个 Project 是做并发控制。

在 Fall2021 中,第二个 Project 是做缓存池管理,第三个 Project 是做哈希索引,第四个 Project 是做并发控制。
在 Fall2021 中,第一个 Project 是做缓存池管理,第二个 Project 是做哈希索引,第四个 Project 是做并发控制。

如果大家有精力的话可以都去尝试一下,或者在对书中内容理解不是很透彻的时候,尝试用代码写一个会加深你的理解。

Expand Down

0 comments on commit 319c154

Please sign in to comment.