Abstract illustration of a distributed vector database with nodes, sharding rings, and embedding vectors flowing between them.

Architecting Distributed Vector Databases: Scaling Semantic Search from Prototype to Production

How to design, partition, replicate, and operate a distributed vector database for semantic search at scale — covering sharding strategies, HNSW vs. IVF, hybrid retrieval, and operational pitfalls.

September 2, 2026 · 11 min · 2178 words · martinuke0
Layered diagram of a key-value store with WAL, memtable, SSTables, and compaction.

Building a Mini LSM-Tree Key-Value Store in Rust: A CV-Grade Systems Project

Build a runnable LSM-tree key-value store with a write-ahead log in Rust, from WAL append to SSTable flush to compaction. The exact project to make your CV read like a database engineer’s.

September 2, 2026 · 12 min · 2532 words · martinuke0
Layered diagram of kernel submission and completion rings for async I/O.

Mastering io_uring vs epoll: A Deep Dive into Linux Async I/O Architectures

Compare Linux’s two dominant async I/O architectures, io_uring and epoll, with kernel internals, real benchmarks, and patterns drawn from production systems.

September 2, 2026 · 11 min · 2193 words · martinuke0
Stylized illustration of stacked sorted runs merging into a single sorted level.

Inside RocksDB LSM-Tree Compaction: Strategies, Trade-offs, and Production Tuning

How RocksDB picks compaction strategies, what each one costs you in write amplification and read latency, and the knobs that matter in production.

September 2, 2026 · 10 min · 2120 words · martinuke0
Diagram of an LSM-tree with bloom filters guarding each SSTable.

Implementing Bloom Filters in LSM-Trees: Reducing Read Amplification

A practical deep dive into how bloom filters are integrated into LSM-tree storage engines to slash read amplification, with concrete examples from RocksDB, Cassandra, and ScyllaDB.

September 2, 2026 · 9 min · 1844 words · martinuke0
Feedback