skyzh/vector-db-from-scratch
skyzh/vector-db-from-scratch has 814 GitHub stars and 33 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-12 18:19 UTC. Last push 2026-09-16.
Learn vector search with Rust and DataFusion; the C++/BusTub track is deprecated.
实测星标增长
- 24小时
- 0
- 7天
- +2
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README.md
原文
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.
探索相关项目
Asabeneh/30-Days-Of-Python
30 Days of Python 编程挑战是一份循序渐进的指南,用于在 30 天内学习 Python 编程语言。这项挑战可能需要超过 100 天。请按自己的节奏进行。这些视频或许也有帮助:https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,618 星标grafana/grafana
开放且可组合的可观测性与数据可视化平台。可对来自 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等众多数据源的指标、日志和追踪进行可视化。
77,859 星标redis/redis
对于正在构建实时数据驱动应用的开发者而言,Redis 是首选、速度最快且功能最丰富的缓存、数据结构服务器和文档与向量查询引擎。
77,472 星标apache/superset
Apache Superset 是一个数据可视化与数据探索平台
75,495 星标