<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>book on Saurabh Kumar</title><link>https://saurabh-kumar.com/tags/book/</link><description>Recent content in book on Saurabh Kumar</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright © 2025, Saurabh Kumar.</copyright><lastBuildDate>Thu, 05 Feb 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://saurabh-kumar.com/tags/book/index.xml" rel="self" type="application/rss+xml"/><item><title>Designing Data-Intensive Applications</title><link>https://saurabh-kumar.com/til/1770292800/</link><pubDate>Thu, 05 Feb 2026 12:00:00 +0000</pubDate><guid>https://saurabh-kumar.com/til/1770292800/</guid><description>&lt;p&gt;&lt;strong&gt;Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems&lt;/strong&gt; by Martin Kleppmann manages to be both rigorous technical manual and something approaching a philosophical treatise on the nature of truth, consistency, and trust in distributed systems. [Claude][https://claude.ai/chat/0f58f2f6-bd56-41a1-a785-8267afa5a3d1]&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Foundation. He starts by asking the questions &lt;em&gt;&amp;ldquo;What do we actually want in our data systems&amp;rdquo;&lt;/em&gt;, answers them as - reliability, scalability and maintainability.&#10;&lt;ul&gt;&#10;&lt;li&gt;Reliability. The question isn&amp;rsquo;t whether failure will happen, it will, but the whether the systems can survive them.&lt;/li&gt;&#10;&lt;li&gt;Scalability. It&amp;rsquo;s not a binary question of whether a system is &amp;ldquo;scalable&amp;rdquo; or &amp;ldquo;not scalable&amp;rdquo;. Ask - &amp;ldquo;What happens when specific load parameter increase?&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;Maintainability - most underappreciated of the three, he argues the majority of cost isn&amp;rsquo;t in initial development but in ongoing maintainence.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;The data model wars - the skill isn&amp;rsquo;t in choosing the &amp;ldquo;best&amp;rdquo; database but in understanding which tradeoffs matter for your specific problem.&lt;/li&gt;&#10;&lt;li&gt;Storage engines. Two major approaches to read &amp;amp; write data from disk, neither is universally better.&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Log-structured storage&lt;/strong&gt; (like LSM-trees) optimizes for writes, every write is appended and the merged/compacted later.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Page-oriented storage&lt;/strong&gt; (like B-trees) optimizes for reads, data is stored in fixed-sized block, which then get updated in-place, more like filing cabinet with each document has a designated slot.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Instead of asking &amp;ldquo;how do I build this?&amp;rdquo; ask &amp;ldquo;what does it mean for this to work correctly?&amp;rdquo;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>