skyzh/vector-db-from-scratch
skyzh/vector-db-from-scratch has 813 GitHub stars and 33 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-09 22:18 UTC. Last push 2026-09-16.
Learn vector search with Rust and DataFusion; the C++/BusTub track is deprecated.
Measured star growth
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
Vector Database from Scratch
Vector Database from Scratch is a hands-on course for systems and database engineers. Build a small in-memory vector database in Rust, compare approximate results with exact search, and use the resulting indexes from SQL through DataFusion.
What You Will Build
By the end of the course, your vector database will include:
- an Arrow-backed in-memory table and a safe DataFusion optimizer rule;
- IVFFlat, NSW, HNSW, and residual IVF-PQ indexes;
- SQL commands for creating indexes and comparing query plans; and
- a shared benchmark for recall, build time, and search latency on SIFT1M.
The course focuses on the boundary where vector-search algorithms become database features. It covers the algorithms, evaluation contracts, query planning, and execution path instead of hiding them behind an HTTP API or ANN library.
Course Structure
The guided Rust course has six days. Each day adds one database or indexing capability, with starter code, focused tests, and a completed reference. The book contains the setup, checkpoint commands, SQL walkthroughs, and benchmark instructions.
You need basic Rust, but you do not need prior knowledge of vector search or DataFusion.
The original C++/BusTub edition remains online for existing readers, but it is deprecated and unmaintained.
Community
Join skyzh's Discord server to study with the Vector Database from Scratch community.
License
The code in this repository is licensed under the Apache License 2.0. The book, including its Markdown and figures, is licensed under CC BY-NC-SA 4.0.
The bustub-vectordb-starter and bustub-vectordb-solution git submodules retain their own upstream license terms.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,423 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,790 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,309 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,455 stars