Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
CS165 Data Systems
Image: daslab.seas.harvard.edu
#389 overall

CS165 Data Systems

Harvard University

1 recommender · 2 threads · recommended in 2 years, 2020–2023 · score 1.1

Go to course ↗

CS165 Data Systems is a Harvard graduate-level course on building storage engines for relational databases, covering memory hierarchy, buffer pools, B-Tree indexes, and query optimization. A recurring project has students build a columnar relational datastore in C.

Commenters call it a great course for learning how database storage engines are built, and point to its project-based approach and readily available slides and readings.

Databases & Data Engineeringadvancedfreeproject-based#database internals#storage engines#query optimization#b-tree#columnar storage#harvard

Recommendations by year

20062026

What commenters said (3)

  1. Recommendsboberoni2023in “Ask HN: Building Db from Scratch”

    I would recommend Harvard's CS165 course [0]. The lecture videos and slides are available, but the projects and setup code is not. However, you can view this as an opportunity to use any programming language that you like and pick your own feature scope.

    [0] http://daslab.seas.harvard.edu/classes/cs165/index.html

  2. Recommendsboberoni2020in “If All You Have Is a Database, Everything Looks Like a Nail”

    For people who are interested, Harvard's CS165[1] is a great course about how to build storage engines for relational databases.

    Topics include memory vs disk I/O, the memory hierarchy, buffer pools, B-Tree indexes, query optimization, and more. Throughout the course, you have a project to build a columnar relational datastore with C.

    I don't think the lecture videos are all publicly available, but you can learn a lot from the slides and readings.

    [1]: http://daslab.seas.harvard.edu/classes/cs165/

  3. Mentionsmakmanalp2017in “Readings in Database Systems, 5th Edition (2015)”

    This book is more about different types of tradeoffs you can make in terms of your system design. I'd recommend looking at grad databases courses instead, e.g:

    - http://db.cs.cmu.edu/courses/ - http://daslab.seas.harvard.edu/classes/cs165/ - http://daslab.seas.harvard.edu/classes/cs265/

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help