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
Diagram of a log-structured merge tree with memtable, immutable memtables, and SSTable levels on disk.

Architecting Log-Structured Merge Trees for Write-Intensive Distributed Databases

How modern distributed databases turn the write-amplification problem into a throughput advantage, and what it costs you on the read path.

September 2, 2026 · 10 min · 2057 words · martinuke0
Stack of sorted runs in an LSM-tree being merged by a compactor.

Optimizing RocksDB LSM-Tree Compaction: Strategies for Write Amplification and Storage Efficiency

How RocksDB’s compaction strategies trade off write amplification, read amplification, and space amplification — and how to tune them for real workloads.

September 2, 2026 · 11 min · 2208 words · martinuke0
Layered diagram of memtable flushing into sorted SSTables being compacted.

Architecting Log-Structured Merge Trees for Write-Intensive Distributed Databases

LSM trees are the backbone of modern write-intensive databases like Cassandra, RocksDB, and ScyllaDB. This post walks through the architecture, compaction strategies, and tuning decisions that separate a healthy LSM deployment from a write stall.

September 1, 2026 · 11 min · 2198 words · martinuke0
Illustration of a Bloom filter overlaying an LSM‑tree structure.

Optimizing LSM-Tree Read Performance with Bloom Filters: Architecture, Tuning, and Production Implementation

Bloom filters can turn costly disk scans into fast key checks. This post walks through the underlying design, practical tuning, and a production rollout in a Kafka‑RocksDB pipeline.

May 31, 2026 · 8 min · 1675 words · martinuke0
Feedback