The user-provided list plus additions, annotated with what each is best for studying.
Clone the ones in active use to ~/repos/.
| Repo | Best for |
|---|---|
| FalkorDB/FalkorDB | Sparse-matrix graph engine, redis module architecture |
| FalkorDB/falkordb-rs-next-gen | Rust graph engine rewrite |
| Repo | Lang | Best for |
|---|---|---|
| redis/redis | C | dict incremental rehash, skiplists, event loop, RESP, AOF/RDB, rax |
| valkey-io/valkey | C | io-threads/multithreading evolution vs redis — diff the two! |
| qdrant/qdrant | Rust | HNSW, filtered ANN, quantization, raft consensus |
| surrealdb/surrealdb | Rust | multi-model design, transaction layer over pluggable KV |
| facebook/rocksdb | C++ | LSM at industrial scale: compaction, block cache, txn utilities |
| tursodatabase/turso | Rust | SQLite rewrite: B-tree, pager, WAL, io_uring, DST |
| neo4j/neo4j | Java | record-store graph layout, Cypher planner |
| HelixDB/helix-db | Rust | graph+vector combined engine (young codebase, easy to read) |
| memgraph/memgraph | C++ | in-memory graph, skip-list storage, MVCC |
| ravendb/ravendb | C# | Voron storage engine (COW B+tree), document DB design |
| fjall-rs/fjall | Rust | the readable Rust LSM — small enough to read fully |
| tidesdb/tidesdb | C | compact C LSM, easy first read |
| duckdb/duckdb | C++ | vectorized execution, optimizer, columnar compression — very readable |
| postgres/postgres | C | MVCC, WAL, buffer manager, planner — the canon |
| Repo | Lang | Best for |
|---|---|---|
| sqlite/sqlite | C | btree.c, pager, VDBE — most-deployed DB on earth |
| LMDB (openldap/mdb) | C | copy-on-write B+tree, single-file mmap design |
| skyzh/mini-lsm | Rust | guided course — build an LSM step by step (use in topic 4) |
| cmu-db/bustub | C++ | CMU 15-445 teaching DB: buffer pool, B+tree, txn labs |
| erikgrinaker/toydb | Rust | reference for the capstone: raft + MVCC + SQL, written to teach |
| apache/datafusion | Rust | Arrow-native query engine — planner + vectorized exec in Rust |
| pola-rs/polars | Rust | vectorized columnar engine: lazy optimizer, streaming exec, SIMD kernels — DuckDB's Rust rival |
| kuzudb/kuzu | C++ | columnar graph storage, worst-case optimal joins (topic 13) |
| cberner/redb | Rust | clean embedded COW B-tree in Rust |
| spacejam/sled | Rust | Bw-tree-inspired engine; read its post-mortems too |
| tikv/tikv | Rust | raft-rs, distributed txn (Percolator) — topic 15 |
| apple/foundationdb | C++ | deterministic simulation testing gold standard — topic 16 |
| ClickHouse/ClickHouse | C++ | columnar OLAP at the extreme; read specific MergeTree parts only |
| unum-cloud/usearch | C++ | compact single-header HNSW — topic 14 |
| DrTimothyAldenDavis/GraphBLAS | C | SuiteSparse internals — go deeper than the API you already use |
| GraphBLAS/LAGraph | C | graph algorithms as linear algebra — the reference library over GraphBLAS (topics 20, 24) |
| Z3Prover/z3 | C++ | SMT solver: query-equivalence proving, invariant checking (topic 16); also a perf-engineering masterclass |
| quickwit-oss/tantivy | Rust | inverted index / full-text engine — the readable Lucene (topic 23) |
| apache/lucene | Java | the canon of search: codecs, FSTs, segment merging (topic 23) |
| elastic/elasticsearch | Java | distributed search architecture over Lucene: shards, scatter-gather (topic 23) |
| RediSearch/RediSearch | C | search as a redis module — your ecosystem's approach (topic 23) |
| leanprover/lean4 | C++/Lean | theorem proving + Perceus RC runtime (topic 21) |
| modular/mojo | Mojo | SIMD-first language on MLIR, CPU+GPU kernels (topics 17, 18) |
| TimelyDataflow/differential-dataflow | Rust | incremental computation — the real thing (topic 27) |
| neondatabase/neon | Rust | disaggregated postgres: pageserver, safekeepers, branching (topic 28) |
| slatedb/slatedb | Rust | LSM directly on object storage — small, modern (topic 28) |
| prometheus/prometheus | Go | tsdb/: readable time-series storage (topic 30) |
| influxdata/influxdb | Rust | IOx: DataFusion+Parquet+object storage combined (topics 11/12/28/30) |
| RoaringBitmap/CRoaring | C | compressed bitmaps: container switching, SIMD set ops (topics 23, 26) |
| automerge/automerge | Rust | CRDT engine — state/op-based, columnar op storage (topic 31) |
| loro-dev/loro | Rust | fast modern CRDT engine, great perf blog posts (topic 31) |
| graphistry/pygraphistry | Python | GPU graph ETL/analytics on RAPIDS cuDF/cuGraph, GFQL query layer — production analog to Gunrock's research code (topics 18, 24) |
The reading guides quote a few thousand file:line anchors into the codebases
above. A line number only means something next to the commit it was read at, so
every clone the guides reference is pinned here — once, rather than in each of
the 230 guides, so the record stays consistent instead of drifting per file.
Regenerate with python3 tools/pin-table.py, or --check to see whether your
clones have moved since the table was written. Both read ~/repos (override
with DLP_CLONES), so this is a local command — CI has no clones and does not
check it.
Clone to ~/repos/<name> and git checkout the listed commit if you want the
anchors to land exactly; on a newer commit expect the structure to match and the
line numbers to have moved. The mention count is there to tell you which clones
are worth fetching first.