Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Course · OtherFree

CMU 15-445/645: Intro to Database Systems

Carnegie Mellon's course on how database management systems are built: storage, buffer pools, B+ tree and hash indexes, query execution, concurrency control and recovery. Lectures from past semesters are posted in full on the CMU Database Group YouTube channel, and the projects build parts of BusTub, a teaching database in C++. It is the standard free resource for database internals.

BusTub GitHub stars

5.1k

GitHub (cmu-db/bustub) · Sept 2026

Format

Course

Topic

Other

Provider

Carnegie Mellon University

Time needed

One semester

Level

Advanced

Access

Free

What it is

15-445/645 is Carnegie Mellon University's introduction to the design and implementation of database management systems. Rather than teaching how to use a database, it teaches how one works inside. The current course page lists topics including data models, storage models and architectures, indexes and filters (trees, hash tables and vector indexes), transaction processing with ACID and concurrency control, logging and recovery, query processing (joins, sorting, aggregation and optimisation) and parallel and distributed architectures.

Lectures and projects

Lectures from past semesters, taught by Andy Pavlo, have been posted in full on the CMU Database Group YouTube channel, with a playlist per semester. The projects are built on BusTub, an educational relational database written in C++ for this course; recent editions have students implement a buffer pool manager, an index, query execution and concurrency control. According to the BusTub repository, the autograder for each assignment is made available to non-CMU students on Gradescope after CMU's due dates, on the condition that you do not publish your solutions.

Who it is for

This is an advanced course. You should understand the relational model, basic SQL, data structures such as trees and hash tables, and operating systems ideas such as memory and concurrency. The projects need solid C++ skills. It suits students heading towards backend, data or systems engineering who want to understand why databases behave the way they do.

Why it is worth your time

Database theory courses teach normalisation and transactions on paper. This course shows how transactions are implemented with locking or multiversioning, why B+ trees suit disks, how a query optimiser picks a plan and how a write-ahead log survives a crash. After it, reading an EXPLAIN plan or tuning an index is reasoning, not guesswork.

Free or paid

Lectures, slides, notes and the BusTub code are free. You do not get CMU credit or a certificate as an outside learner.

How to use it

Watch the lectures from one semester in order and read the linked notes. If C++ is comfortable for you, attempt the projects on your own private copy of BusTub, as the repository instructs, and use the public autograder to check them. If not, the lectures alone are still very valuable.

Common questions

Which semester should I follow? Any recent full semester playlist works; pick one and stick to it so lectures and projects match.

Is it too hard after a first database course? It is demanding but well explained. Watch the storage and indexing lectures first; they build directly on what a first course teaches.

databasecomputer sciencefree coursecppsql

Ready to start?

Opens on Carnegie Mellon University in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "CMU 15-445/645: Intro to Database Systems". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.