<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Storage on Distributed Data Insights</title><link>http://ddinsights.net/tags/storage/</link><description>Recent content in Storage on Distributed Data Insights</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 02 Jun 2026 08:30:00 -0700</lastBuildDate><atom:link href="http://ddinsights.net/tags/storage/index.xml" rel="self" type="application/rss+xml"/><item><title>LSM-Trees vs. B-Trees: Choosing Your Write Path</title><link>http://ddinsights.net/posts/lsm-trees-vs-btrees/</link><pubDate>Tue, 02 Jun 2026 08:30:00 -0700</pubDate><guid>http://ddinsights.net/posts/lsm-trees-vs-btrees/</guid><description>&lt;p>Underneath nearly every database is one of two storage engines: a &lt;strong>B-tree&lt;/strong> or an
&lt;strong>LSM-tree&lt;/strong>. The choice shapes write throughput, read latency, space usage, and
how the system behaves under pressure. It&amp;rsquo;s worth understanding &lt;em>why&lt;/em> the big
distributed stores — Cassandra, RocksDB, HBase, ScyllaDB — overwhelmingly chose
LSM-trees.&lt;/p>
&lt;h2 id="b-trees-update-in-place">B-trees: update in place&lt;/h2>
&lt;p>A B-tree keeps data sorted in fixed-size pages and &lt;strong>mutates pages in place&lt;/strong>. To
update a key, you find its page and overwrite it. Reads are excellent — typically
a handful of page lookups — and the structure has powered relational databases for
decades.&lt;/p></description></item></channel></rss>