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
Illustration of a Bloom filter bitmap overlaying an LSM-tree layout.

Optimizing Bloom Filters in LSM-Trees: Performance Tuning, Probabilistic Structures, and Production-Ready Implementation Strategies

Bloom filters are the de‑facto guard against unnecessary disk reads in LSM‑tree databases. This post shows concrete tuning knobs, architectural patterns, and code snippets to make them production‑grade.

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