A tutorial on how to add vector capabilities to a relational database system.
Access the tutorial at https://skyzh.github.io/write-you-a-vector-db.
We plan to release two variants of this tutorial: a C++ version and a Rust version.
In the C++ version, you will implement pgvector-like capabilities on a modified version of CMU-DB's BusTub educational database system. You will implement vector storage, vector expressions, and vector indexes over BusTub.
In the to-be-expected Rust version, you will implement vector capabilities over the RisingLight educational database system.
You may join skyzh's Discord server and study with the write-you-a-vector-db community.
The BusTub vector-db starter code and solution are under MIT license. Please note that there are some specific files that overlap with the CMU-DB's Database Systems course and we cannot make them public (and you should not either). The author reserves the full copyright of the tutorial (markdown files and figures).