<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Research on Aaron Ang</title><link>https://aaron-ang.github.io/blog/research/</link><description>Recent content in Research on Aaron Ang</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 31 Aug 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://aaron-ang.github.io/blog/research/index.xml" rel="self" type="application/rss+xml"/><item><title>Intro to LSM Tree</title><link>https://aaron-ang.github.io/intro-to-lsm-tree/</link><pubDate>Thu, 31 Aug 2023 00:00:00 +0000</pubDate><guid>https://aaron-ang.github.io/intro-to-lsm-tree/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Log-Structured Merge-Tree (LSM-Tree)&lt;/strong&gt; is an &lt;strong&gt;append-only, key-value&lt;/strong&gt; data structure that provides &lt;strong&gt;high write throughput&lt;/strong&gt;. Write throughput is the amount of data that can be written to a storage system over a period of time. LSM Tree is used by various databases including &lt;a href="https://cassandra.apache.org/_/index.html"&gt;Apache Cassandra&lt;/a&gt;, &lt;a href="https://dbdb.io/db/leveldb"&gt;LevelDB&lt;/a&gt;, and &lt;a href="https://rocksdb.org"&gt;RocksDB&lt;/a&gt; just to name a few.&lt;/p&gt;
&lt;p&gt;On a high level, LSM appends all incoming data then uses merge sort to handle deduplication and deletions. Underlying LSM are a few in-memory and on-disk data structures which will be explained in the following sections.&lt;/p&gt;</description></item></channel></rss>