Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reference Codebases

The user-provided list plus additions, annotated with what each is best for studying. Clone the ones in active use to ~/repos/.

Your codebases (baseline)

RepoBest for
FalkorDB/FalkorDBSparse-matrix graph engine, redis module architecture
FalkorDB/falkordb-rs-next-genRust graph engine rewrite

From your list

RepoLangBest for
redis/redisCdict incremental rehash, skiplists, event loop, RESP, AOF/RDB, rax
valkey-io/valkeyCio-threads/multithreading evolution vs redis — diff the two!
qdrant/qdrantRustHNSW, filtered ANN, quantization, raft consensus
surrealdb/surrealdbRustmulti-model design, transaction layer over pluggable KV
facebook/rocksdbC++LSM at industrial scale: compaction, block cache, txn utilities
tursodatabase/tursoRustSQLite rewrite: B-tree, pager, WAL, io_uring, DST
neo4j/neo4jJavarecord-store graph layout, Cypher planner
HelixDB/helix-dbRustgraph+vector combined engine (young codebase, easy to read)
memgraph/memgraphC++in-memory graph, skip-list storage, MVCC
ravendb/ravendbC#Voron storage engine (COW B+tree), document DB design
fjall-rs/fjallRustthe readable Rust LSM — small enough to read fully
tidesdb/tidesdbCcompact C LSM, easy first read
duckdb/duckdbC++vectorized execution, optimizer, columnar compression — very readable
postgres/postgresCMVCC, WAL, buffer manager, planner — the canon

Suggested additions

RepoLangBest for
sqlite/sqliteCbtree.c, pager, VDBE — most-deployed DB on earth
LMDB (openldap/mdb)Ccopy-on-write B+tree, single-file mmap design
skyzh/mini-lsmRustguided course — build an LSM step by step (use in topic 4)
cmu-db/bustubC++CMU 15-445 teaching DB: buffer pool, B+tree, txn labs
erikgrinaker/toydbRustreference for the capstone: raft + MVCC + SQL, written to teach
apache/datafusionRustArrow-native query engine — planner + vectorized exec in Rust
pola-rs/polarsRustvectorized columnar engine: lazy optimizer, streaming exec, SIMD kernels — DuckDB’s Rust rival
kuzudb/kuzuC++columnar graph storage, worst-case optimal joins (topic 13)
cberner/redbRustclean embedded COW B-tree in Rust
spacejam/sledRustBw-tree-inspired engine; read its post-mortems too
tikv/tikvRustraft-rs, distributed txn (Percolator) — topic 15
apple/foundationdbC++deterministic simulation testing gold standard — topic 16
ClickHouse/ClickHouseC++columnar OLAP at the extreme; read specific MergeTree parts only
unum-cloud/usearchC++compact single-header HNSW — topic 14
DrTimothyAldenDavis/GraphBLASCSuiteSparse internals — go deeper than the API you already use
GraphBLAS/LAGraphCgraph algorithms as linear algebra — the reference library over GraphBLAS (topics 20, 24)
Z3Prover/z3C++SMT solver: query-equivalence proving, invariant checking (topic 16); also a perf-engineering masterclass
quickwit-oss/tantivyRustinverted index / full-text engine — the readable Lucene (topic 23)
apache/luceneJavathe canon of search: codecs, FSTs, segment merging (topic 23)
elastic/elasticsearchJavadistributed search architecture over Lucene: shards, scatter-gather (topic 23)
RediSearch/RediSearchCsearch as a redis module — your ecosystem’s approach (topic 23)
leanprover/lean4C++/Leantheorem proving + Perceus RC runtime (topic 21)
modular/mojoMojoSIMD-first language on MLIR, CPU+GPU kernels (topics 17, 18)
TimelyDataflow/differential-dataflowRustincremental computation — the real thing (topic 27)
neondatabase/neonRustdisaggregated postgres: pageserver, safekeepers, branching (topic 28)
slatedb/slatedbRustLSM directly on object storage — small, modern (topic 28)
prometheus/prometheusGotsdb/: readable time-series storage (topic 30)
influxdata/influxdbRustIOx: DataFusion+Parquet+object storage combined (topics 11/12/28/30)
RoaringBitmap/CRoaringCcompressed bitmaps: container switching, SIMD set ops (topics 23, 26)
automerge/automergeRustCRDT engine — state/op-based, columnar op storage (topic 31)
loro-dev/loroRustfast modern CRDT engine, great perf blog posts (topic 31)