<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[System Design Weekly]]></title><description><![CDATA["System Design Weekly" helps you ace system design interviews and become a better engineer. Get weekly tips, insights, and practical advice to master the art of building scalable, efficient systems.]]></description><link>https://designsystemsweekly.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!v7Ox!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ea85c0-a8dc-4b80-a697-c975368ee89a_500x500.png</url><title>System Design Weekly</title><link>https://designsystemsweekly.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 03 Sep 2026 19:53:52 GMT</lastBuildDate><atom:link href="/__u/designsystemsweekly.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Rishabh Agarwal]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[designsystemsweekly@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[designsystemsweekly@substack.com]]></itunes:email><itunes:name><![CDATA[Rishabh Agarwal]]></itunes:name></itunes:owner><itunes:author><![CDATA[Rishabh Agarwal]]></itunes:author><googleplay:owner><![CDATA[designsystemsweekly@substack.com]]></googleplay:owner><googleplay:email><![CDATA[designsystemsweekly@substack.com]]></googleplay:email><googleplay:author><![CDATA[Rishabh Agarwal]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[EP14: The Bully Algorithm and Uber’s Intelligent DB Load Management]]></title><description><![CDATA[Build Your Creator Profile with AInfluence (Sponsored)]]></description><link>https://designsystemsweekly.substack.com/p/ep14-the-bully-algorithm-and-ubers</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep14-the-bully-algorithm-and-ubers</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Mon, 31 Aug 2026 06:30:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bg6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><a href="https://www.ainfluence.site/">Build Your Creator Profile with AInfluence (Sponsored)</a></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!W6hH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 424w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 848w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 1272w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!W6hH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png" width="1456" height="867" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:867,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1424891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/213368003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 424w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 848w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 1272w, /__u/substackcdn.com/image/fetch/$s_!W6hH!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7532c6-c195-4835-bb7d-63bdc1a7f056_1625x968.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Link-in-bio tools help creators share links, but they rarely show why a creator is worth following or partnering with. AInfluence changes this. It turns a single bio link into a complete creator profile, bringing featured content, product recommendations, audience appreciation, and brand collaboration opportunities together on one polished page. Followers discover more, brands see proof of influence, and creators gain more ways to turn attention into trust, revenue, and partnerships.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.ainfluence.site&quot;,&quot;text&quot;:&quot;Know More @ AInfluence&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.ainfluence.site"><span>Know More @ AInfluence</span></a></p><div><hr></div><p>Welcome to the 14th Episode of the <em><strong>System Design Weekly</strong></em>! Your weekly dose of byte-sized system design concepts.</p><p>In this episode, our agenda is small but interesting. We are going to discuss an algorithm called the <em><strong>Bully Algorithm</strong></em>. It is an algorithm for leader election in a distributed system. </p><p>We also bring to you a blog from <em><strong>Uber&#8217;s engineering team</strong></em> talking about intelligent load-management on their databases. </p><p>So, if all this sounds interesting to you, read on!</p><div><hr></div><h3><strong>&#128548;The Bully Algorithm</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bg6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bg6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg" width="1456" height="1012" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1012,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114976,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/213368003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!bg6I!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c80653f-a6e9-417e-8202-4d61eab55f87_1798x1250.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Distributed algorithms can rougly be divided into two categories: <em><strong>Leader-based</strong></em> and <em><strong>Leaderless</strong></em>. </p><p>In Leader-based algorithms, one or more nodes are designated leaders. Such nodes are then assigned important responsibilities for network to work normally. </p><p>The <em><strong>Bully Algorithm</strong></em> is used for electing a leader from a set of nodes in a distributed setting. The idea of the algorithm is pretty simple - </p><ol><li><p>Each node in the system is assigned a unique priority number</p></li><li><p>At any point in time, the node with the highest priority of all the healthy nodes is designated the leader</p></li></ol><p>To complete the specification of the algorithm, we need to discuss the case when a leader node goes offline. </p><p>When a leader node fails, other nodes will not be able to contact it any longer. When a node finds out about the missing leader, it issues a re-election request to all nodes with greater priority. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-aYk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-aYk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg" width="1456" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/213368003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-aYk!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd567491-104b-4bb9-bb6b-ab98e6376bd4_2512x895.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Out of all the nodes that respond to a node for re-election requests, the node selects the one with maximum priority and send its acknowledgement to proceed. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ILAX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ILAX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg" width="1456" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118051,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/213368003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ILAX!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e1020ec-f466-4063-8a62-b7936d352b32_2609x862.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The node that received an acknowledgement proceeds by sending notification to all nodes, stating its leadership. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!H-lC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!H-lC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg" width="1456" height="1001" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1001,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:105332,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/213368003?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!H-lC!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc5c98f5-77ed-4afe-91f8-9273192b34f2_1808x1243.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Problems with the Bully Algorithm</strong></h4><p>The Bully Algorithm comes with its own share of problems that we should know - </p><ul><li><p><strong>High message overhead</strong>: In the worst case, each node could initiate re-election simultaneously and thus causing O(N<sup>2</sup>) message flow in the system.</p></li><li><p><strong>Reliance on Synchronous Communication</strong>: The algorithm heavily relies on synchronous communication between nodes which is not a reality in real world systems. </p></li><li><p><strong>The &#8220;Bully&#8221; Problem</strong>: In case of a flaky highest priority node, the node will cause re-election every time it leaves and come-back. </p></li></ul><p>Because of all these problems, the Bully algorithm is rarely used in production grade systems. But it serves as a good case study!</p><div><hr></div><h3><strong>&#128294; Tech Spotlight!</strong></h3><p>In this week&#8217;s <em><strong>Tech Spotlight</strong></em>, we feature an insightful deep dive from the <em><strong>Uber Engineering team</strong></em> on evolving their database overload protection.</p><p>&#10149; <strong><a href="https://www.uber.com/in/en/blog/from-static-rate-limiting-to-intelligent-load-management/?uclick_id=4d16a1b5-a575-4473-8424-6438b6c681cb">How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management</a></strong></p><p><em><strong>Uber&#8217;s</strong></em> distributed databases, <em><strong>Docstore</strong></em> and <em><strong>Schemaless</strong></em>, handle tens of millions of requests per second. In this article, <em><strong>Uber engineers</strong></em> detail how they transitioned from static, quota-based rate limiting to <em><strong>Cinnamon</strong></em>: an intelligent, priority-aware load shedder powered by PID control loops. </p><p>By centralizing local and distributed signals (like follower commit lag), they reduced P99 latencies by ~70% and drastically improved system stability under heavy load. A masterclass in real-world distributed systems resilience!</p><div><hr></div><p><em>That brings us to the close of this episode! If you enjoyed reading it, consider dropping in a &#10084;&#65039; below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading System Design Weekly! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[EP13: CAP Theorem, Sharding Vs Partitioning, And Reverse Engineering Protobuf]]></title><description><![CDATA[A quick 5-minute read packed with practical insights.]]></description><link>https://designsystemsweekly.substack.com/p/ep13-cap-theorem-sharding-vs-partitioning</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep13-cap-theorem-sharding-vs-partitioning</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sat, 01 Aug 2026 03:35:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/88c78361-5077-44c4-b7cb-59612d585ca0_1048x1044.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the 13th Episode of the <em><strong>System Design Weekly</strong></em>! </p><p>If you have worked on building distributed systems, you know that behind every design choice lies a fundamental trade-off.</p><p><strong>&#8594;</strong> &#8220;<em>When a network partition hits, do you choose consistency or availability?</em>&#8221; <br><strong>&#8594;</strong> &#8220;<em>How do you shard data across nodes without creating hot spots?</em>&#8221;</p><p>We break down the answers to these questions in this quick, bite-sized edition covering the <strong>CAP Theorem</strong> and the famous <strong>Sharding vs. Partitioning </strong>dilemma. </p><p>In the <em><strong>Tech Spotlight</strong></em>, we bring to you an article from the <em><strong><a href="https://serpapi.com/">SerpApi</a></strong></em> team on reverse-engineering Protobuf schemas directly from binary payloads. </p><p>If all this sounds interesting to you, read on!</p><div><hr></div><h3>&#129506;The CAP Theorem</h3><p>Imaging running a bank with two different branch offices (A and B). If the network wire connecting the two branches gets cut, can a customer deposit $100 at Branch A and immediately withdraw it at Branch B? </p><p>We have to make a choice. Either allow the withdrawl and risk giving away money that wasn&#8217;t received. Or, refuse the request until the network connection is restored. </p><p>This fundamental dilemma is the <strong>CAP Theorem</strong> in a nutshell.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UxS9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UxS9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg" width="473" height="374" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:374,&quot;width&quot;:473,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UxS9!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff25347e8-49da-428d-accd-ccb61334c2fc_473x374.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://medium.com/@ibrahimlanre1890/cap-theorem-in-dbms-42027527092e">Source</a></figcaption></figure></div><p>Formulated by Eric Brewer, the CAP Theorem states that any distributed data store can only simultaneously guarantee <strong>two out of three</strong> properties:</p><ul><li><p><strong>Consistency (C):</strong> Every read receives the most recent write or an error. All nodes see the exact same data at the same time.</p></li><li><p><strong>Availability (A):</strong> Every working node always responds to requests, even if the data is slightly out of date.</p></li><li><p><strong>Partition Tolerance (P):</strong> The system continues to operate despite arbitrary message loss or network failure between nodes.</p></li></ul><p>In true distributed systems, network partition always happen. Thus, we only have two choices - <strong>Consistency+Partition (CP)</strong> or <strong>Availability+Partition (AP)</strong>.</p><p><em>For an even cleaner explanation to the CAP Theorem, checkout the following post! </em>&#128071;</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;623b5f2c-3d5d-4600-8a66-5283fb77eae6&quot;,&quot;caption&quot;:&quot;The CAP theorem &#8212; standing for Consistency, Availability, and Partition Tolerance &#8212; is a foundational principle that shapes the design and operation of distributed systems. Understanding this theorem is crucial for anyone working with such systems, as it helps explain the trade-offs and limitations developers face when building scalable, reliable applic&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;A Plain English Introduction To CAP Theorem&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:116683224,&quot;name&quot;:&quot;Rishabh Agarwal&quot;,&quot;bio&quot;:&quot;I'm a software developer and an avid reader. I write about software engineering, developer tools, and everything in between, sharing insights on how to build better code and work smarter. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56becd1a-e0ad-41a4-820f-0cb3068fd847_144x144.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-12-16T03:53:10.948Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!neoP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6723b9bd-ca0c-49c4-99bf-2c5e87b43df9_828x622.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://designsystemsweekly.substack.com/p/a-plain-english-introduction-to-cap&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:153188008,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:3320057,&quot;publication_name&quot;:&quot;System Design Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!v7Ox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ea85c0-a8dc-4b80-a697-c975368ee89a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#129513;Sharding Vs Partitioning - What is the Difference?</h3><p>Both <strong>Partitioning</strong> and <strong>Sharding</strong> break large datasets into smaller pieces, but the key difference is where those pieces live.</p><p><strong>Partitioning</strong> splits a large table into smaller partitions <strong>within the same database</strong>.</p><p><strong>Sharding</strong> takes that idea further by distributing those partitions <strong>across multiple database servers</strong>.</p><div class="pullquote"><p><strong>Partitioning = Divide the data.</strong><br><strong>Sharding = Divide the data + Distribute it across machines.</strong></p></div><p>Partitioning can make queries and data management more efficient, while sharding helps scale <strong>storage, reads, and writes across multiple servers</strong>.</p><p>But sharding comes with additional complexity.  Balancing data, managing shards, and handling resharding can all be challenging!</p><p><strong>So which one should you use?</strong></p><p>It depends on your workload, data size, traffic, and scaling requirements.</p><p><em><a href="https://medium.com/@the_infinity/can-you-explain-the-difference-between-partitioning-sharding-5110b3d8a95b">&#8811; Want to understand the difference in depth, with PostgreSQL examples? </a><strong><a href="https://medium.com/@the_infinity/can-you-explain-the-difference-between-partitioning-sharding-5110b3d8a95b">Read the full blog.</a></strong></em></p><div><hr></div><h3><strong>&#128294; Tech Spotlight!</strong></h3><p>Welcome to Tech Spotlight where we bring to you an interesting read from the industry.</p><p>In this week&#8217;s Tech Spotlight, we feature an article from the <em><strong>SerpApi</strong></em> team talking about reverse engineering Protobuf schema. </p><p><a href="https://serpapi.com/blog/decoding-protobuf-messages-without-schema/">&#10149; </a><strong><a href="https://serpapi.com/blog/decoding-protobuf-messages-without-schema/">Decoding Protobuf Messages Without Access to the Schema</a></strong></p><p>Protobuf is a serialization/de-serialization format developed by <em><strong>Google</strong></em>. Unlike JSON, working with Protobufs requires access to a schema. Without a schema, you can&#8217;t pinpoint the keys and thus can&#8217;t use the payload.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!FqH-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 424w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 848w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!FqH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png" width="1456" height="692" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:692,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 424w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 848w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FqH-!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc61f4fb2-3c66-4def-83aa-0428b6716be1_2012x956.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://serpapi.com/blog/decoding-protobuf-messages-without-schema/">Source</a></figcaption></figure></div><p>The engineers at SerpApi demonstrate how to inspect wire types and reconstruct field structures directly from raw payloads. A fascinating real-world example of modern reverse engineering!</p><div><hr></div><p><em>That brings us to the close of this episode! If you enjoyed reading it, consider dropping in a &#10084;&#65039; below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you like what you read, consider subscribing below! </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[EP12: Service Discovery in Microservices, Circuit-Breaker Pattern, and Netflix's Personalized Notification System]]></title><description><![CDATA[Almost any real-world scale application being built today is preferring a microservices architecture over monolithic.]]></description><link>https://designsystemsweekly.substack.com/p/ep12-service-discovery-in-microservices</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep12-service-discovery-in-microservices</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sun, 05 Jul 2026 16:11:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!G4xa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Almost any real-world scale application being built today is preferring a microservices architecture over monolithic. This comes with its own advantages of independent scaling and development!</p><p>But microservices aren&#8217;t that easy. They come with their own set of challenges, like ~</p><ul><li><p><em><strong>How would one microservice discover another microservice? </strong></em></p></li><li><p><em><strong>How do we ensure that failures in one microservice are contained and do not propagate to other services?</strong></em></p></li><li><p>&#8230;</p></li></ul><p>We discuss the solution to the first two questions in this 12th episode of the <em><strong>System Design Weekly</strong></em>!</p><p>In this edition, we bring to you another interesting read from <em><strong>Netflix&#8217;s Engineering team</strong></em> talking about how they re-designed their notification system.</p><p>So, if that all sounds interesting to you, read on!</p><div><hr></div><h3>&#129488; Service Discovery in Microservices</h3><p>Unlike monolithic applications, services in a microservice architecture are typically deployed on separate machines. Thus, any communication between two services must be routed over network. And to do so effectively, services should know each other&#8217;s network addresses i.e., IP address, port number, transport mechanism, etc. </p><p>Since services are dynamically created/deleted, and moved around the cluster, we cannot maintain a hardcoded list of addresses for each service. Thus we need a mechanism for <em><strong>Service Discovery</strong></em>.</p><p><em><strong>Service Registry</strong></em> is the special database that maintains a list of available instances of microservices and their addresses. Services refer to the service registry when they need to resolve address for a target service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eRwj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 424w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 848w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eRwj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png" width="1456" height="617" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:617,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220581,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/170599841?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 424w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 848w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eRwj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd58d60-b268-418d-b3a9-8484c0a50125_2284x968.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Several tools and platforms offer service discovery capabilities, each with its own set of features and trade-offs. </p><ul><li><p><em><strong>Netflix Eureka</strong></em>: A REST based service registry.</p></li><li><p><em><strong>Kubernetes</strong></em>: Kubernetes offers built-in service discovery and load balancing capabilities through its service abstraction.</p></li><li><p><em><strong>Consul</strong></em>: Developed by HashiCorp, Consul provides service discovery, configuration, and segmentation functionalities on a single, distributed platform.</p></li></ul><div><hr></div><h3>&#128268; Circuit Breaker Pattern</h3><p>Ever wondered how large-scale microservices keep a simple failing service from taking down the entire app? They look at electrical engineering. </p><p>Just like an <em><strong>MCB</strong></em> (<em><strong>Miniature Circuit Breaker</strong></em>) in our home breaks the circuit during a short-circuit to protect our appliances, the <em><strong>Circuit Breaker</strong></em> design pattern disconnects a failing microservice to prevent the issue from cascading. </p><p>Instead of blindly retrying and exhausting critical application resources (like database connections or memory) on a service that is already struggling, a circuit breaker acts as a proxy and manages the traffic using three simple states ~</p><ul><li><p><em><strong>Closed State</strong></em>: Everything is normal. Requests flow freely while the breaker monitors for failures. If failures cross a specific threshold, it trips into the Open State. </p></li><li><p><em><strong>Open State</strong></em>: The breaker immediately cuts off traffic and returns a fallback response or exception. This gives the struggling service a &#8220;timeout&#8221; period to recover without being bombarded. </p></li><li><p><em><strong>Half-Open State</strong></em>: Once the timeout expires, the breaker allows a limited number of test requests through. If they succeed, it goes back to Closed. If they fail, it snaps back to Open.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!G4xa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 424w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 848w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!G4xa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png" width="867" height="776" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:776,&quot;width&quot;:867,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 424w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 848w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G4xa!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5c74d30-fa98-4d75-921f-0bad62969fa1_867x776.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li></ul><div class="callout-block" data-callout="true"><p><strong>&#128161; Quick Consideration:</strong> When implementing this, your services must be designed to gracefully handle fallback responses rather than just aggressively retrying!</p></div><p><em><a href="https://medium.com/@the_infinity/there-is-a-design-pattern-inspired-by-mcbs-f352fb5d48c4"><span>&#8811; </span>Read my full deep dive on Circuit Breakers on Medium</a></em></p><div><hr></div><h3><strong>&#128294; Tech Spotlight!</strong></h3><p>This week in Tech Spotlight, we&#8217;re featuring an interesting read from <strong>Netflix&#8217;s engineering</strong> <strong>team</strong>. The article explores how they re-designed their notification system to ensure better, more useful notifications for their customers.</p><p><em>&#10149;</em> <em><strong><a href="https://medium.com/netflix-techblog/thinking-fast-slow-for-a-personalized-notification-system-4d89b26525cd">Thinking Fast and Slow: Netflix&#8217;s Notification Architecture</a></strong></em></p><p>They presented a two paced system, where the slow-path is responsible for capturing the long-term notification strategy and the fast-path is responsible for deciding exact notifications.</p><p>If you are looking for a digestible version of Netflix&#8217;s article, checkout this commentary on System Design Weekly. &#128071;</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;706a119f-7ac5-4533-a27c-680596e59b22&quot;,&quot;caption&quot;:&quot;Notifications are an integral part of any application in the 21st century. Whether they are mobile notifications or email notifications, they play a critical role in keeping the user engaged and updated on application&#8217;s status.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Netflix's Slow-and-Fast Architecture&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:116683224,&quot;name&quot;:&quot;Rishabh Agarwal&quot;,&quot;bio&quot;:&quot;I'm a software developer and an avid reader. I write about software engineering, developer tools, and everything in between, sharing insights on how to build better code and work smarter. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56becd1a-e0ad-41a4-820f-0cb3068fd847_144x144.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-21T10:58:24.587Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!V2Mb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://designsystemsweekly.substack.com/p/netflixs-slow-and-fast-architecture&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:202939876,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:3320057,&quot;publication_name&quot;:&quot;System Design Weekly&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!v7Ox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ea85c0-a8dc-4b80-a697-c975368ee89a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><em>That brings us to the close of this episode! If you enjoyed reading it, consider dropping in a &#10084;&#65039; below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em>Want to master System Design? Subscribe to our free newsletter and get weekly content on concepts, best practices, and real-world applications.</em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[Netflix's Slow-and-Fast Architecture]]></title><description><![CDATA[A Detailed Analysis of Netflix's Personalized Notification System]]></description><link>https://designsystemsweekly.substack.com/p/netflixs-slow-and-fast-architecture</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/netflixs-slow-and-fast-architecture</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sun, 21 Jun 2026 10:58:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V2Mb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!V2Mb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!V2Mb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg" width="440" height="586.4571428571429" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:700,&quot;resizeWidth&quot;:440,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!V2Mb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F661fdd94-b740-46fe-b90d-82cda30295c8_700x933.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong><span>N</span>otifications</strong> are an integral part of any application in 21st century. Whether they are mobile notifications or email notifications, they play a critical role in keeping the user engaged and updated on application&#8217;s status.</p><p>When compared to other parts of application engineering, sending out notifications may not sound like an engineering feat. But that is where most of us are wrong!</p><blockquote><p><strong>Behind every pop-up, there is hours of planning &amp; thinking involved.</strong></p></blockquote><p><strong>Netflix</strong> is no exception. To keep their users hooked, they too use notifications. And the way their system shows these notifications reveals a lot about the insane engineering that goes beind the scenes at these big techs.</p><p>In this blog, we are going to dissect the &#8220;<em><strong><a href="https://medium.com/netflix-techblog/thinking-fast-slow-for-a-personalized-notification-system-4d89b26525cd">Thinking Fast &amp; Slow for a Personalized Notification System</a></strong></em>&#8221; blog by the Netflix Engineering team. The goal is to make the content easy to follow and offer a commentary around the complex parts of it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://medium.com/netflix-techblog/thinking-fast-slow-for-a-personalized-notification-system-4d89b26525cd&quot;,&quot;text&quot;:&quot;&#128073; Original Netflix's Blog&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://medium.com/netflix-techblog/thinking-fast-slow-for-a-personalized-notification-system-4d89b26525cd"><span>&#128073; Original Netflix's Blog</span></a></p><h3><strong>Art of Optimizing the Notifications @ Netflix</strong></h3><p>Netflix sends out hundreds of millions of personalized notifications to its user in the form of push messages, in-app notifications, and emails. The goal is to help user discover the content that they would watch.</p><p>But there is an optimization problem. If they send too many notifications to a user, this can lead to fatigue and can lead to user turning off the notifications.</p><p>On the other hand, if there are too few notifications, the user won&#8217;t discover relevant content and can result into reduced app usage or stop being a member altogether. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-6gp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 424w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 848w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-6gp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png" width="700" height="478" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:478,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 424w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 848w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-6gp!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0803b7a7-7634-476e-bd6e-45122b038d70_700x478.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Understanding the Existing Solution and the Problems with it</strong></h3><p>The previous notification system at <strong>Netflix</strong> used a short-time horizon model. The model was trained to optimize short-horizon metrics such as immediate user actions occuring shortly after notification is sent.</p><p>There were two problems with this model ~</p><p><strong>(1)</strong> The model only considers short-term metrics but not long-term viewing habits. This can result in gradual opt-out risks.</p><p><strong>(2)</strong> Both the &#8220;<strong>When</strong>&#8221; &amp; &#8220;<strong>What</strong>&#8221; were coupled into a single system.</p><p>The old system seems to have worked like this ~</p><ul><li><p>A notification opportunity arises (for example a new show release)</p></li><li><p>The model estimates the reward/value of sending that notification right now</p></li><li><p>If the score exceeded some threshold, send it</p></li></ul><p>This means that the frequency of notification was a by-product of these daily decisions. From my reading of the blog, it seems that the frequency was not a first-class citizen of the system. Increasing the threshold would reduce the frequency and that seems to be the only way of controlling frequency.</p><p><strong>(3)</strong> Users are likely to behave differently based on the time of notification. Such personalization was also missing from the system.</p><p>To solve all these problems, a new system was built. A system where long term planning can be separated out from short term notification decisions. And this brings us to the &#8220;<strong>Slow-Fast Architecture</strong>&#8221;.</p><h3><strong>Hierarchical Slow-Fast Architecture</strong></h3><p>The entire notification service is broken into two separate modules &#8212; <strong>The Planner (Slow)</strong> and <strong>The Executor (Fast)</strong>.</p><p>In a nutshell, the slow path is responsible for planning the frequency for each user based on their activity while keeping a long-time view of the things.</p><p>On the other hand, the fast path is responsible for selecting what message to send while respecting the frequency &amp; timing guard-rails placed by the slow path.</p><p>The table below summarizes both modules.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4dao!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 424w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 848w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4dao!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png" width="700" height="185" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:185,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 424w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 848w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4dao!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771bdbfd-821f-40b0-bc43-c2a5aff65570_700x185.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://miro.medium.com/v2/resize:fit:1400/format:webp/1*BffuQUAFrEhYzynBKsVPLA.png">Source</a></figcaption></figure></div><p><strong>Slow Policy</strong></p><p>Slow policy works by selecting an <strong>action &#119964;</strong>. An action is nothing but a frequency plan across all channels that a user can be notified from.</p><p>There are over 100 hard-coded actions which the slow policy chooses from.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!E_Cp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 424w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 848w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 1272w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!E_Cp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png" width="700" height="342" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b52fc218-7256-432a-97db-62969cb23097_700x342.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:342,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 424w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 848w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 1272w, /__u/substackcdn.com/image/fetch/$s_!E_Cp!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52fc218-7256-432a-97db-62969cb23097_700x342.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The selection of action is based on a utility function. The action which maximizes the utility for a member is choosen.</p><blockquote><p><em>The details of this utility function is extremely vague in the blog and readers are left to guess a number of things around it. I will be presenting what I think would be going behind the scenes.</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QSST!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 424w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 848w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QSST!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png" width="700" height="391" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:391,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 424w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 848w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QSST!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0097af-7a23-4bd2-afab-24e8a66640f0_700x391.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I have broken down the utility function as per my understanding in the diagram above.</p><p>There are two cruicial parts to it &#8212; (1) Estimating the reward from each action for a member, and (2) Estimating the cost from each action.</p><p>While the blog skip details about the first part, the second part is calculated by assuming a constant cost per notification. Interestingly, this cost is tuned manually!</p><p>For the first part, there must either be some model to estimate the reward or they must gather that information by running some experiments.</p><p><em><strong>Note: </strong>To solve the problem of personalized notification timings, the slow policy also includes a pacing strategy in the plan it develops. No details on how the pacing strategy is calculated is present in the blog!</em></p><p><strong>Fast Policy</strong></p><p>Based on the frequency &amp; timing constraints developed by the slow policy, the fast policy works. At every opportunity of sending a notification, the policy checks if the opportunity aligns with the plan developed by the slow policy and if so, it sends out a notification.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!e0qZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 424w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 848w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 1272w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!e0qZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png" width="700" height="456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:456,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 424w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 848w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 1272w, /__u/substackcdn.com/image/fetch/$s_!e0qZ!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16ce9fa0-df5d-4691-a114-7031bed089dd_700x456.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://miro.medium.com/v2/resize:fit:720/format:webp/1*gZiJ6HiK_BG3rDCRupx5vA.png">Source</a></figcaption></figure></div><p><strong>Benefits of the New Architecture</strong></p><p>With the new architecture in place, Netflix engineers were able to solve all the problems they were facing with the old system. In addition, the new model gave them the following advantages ~</p><ul><li><p>They were able to give users a consistent experience since the system no longer only took a short-term view.</p></li><li><p>With decoupling of the slow and the fast policy, it is easy to modify &#8220;<strong>When</strong>&#8221; &amp; &#8220;<strong>What</strong>&#8221; of the notification system independently.</p></li><li><p>With reduced noise, they saw much more engagement from casual users.</p></li></ul><div><hr></div><p>With that we come to the end. </p><p>If you would like to see more such blog dissection directly in your inbox, do subscribe and join the newsletter.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Ultimate Key-Value Store Comparison]]></title><description><![CDATA[Make the Right Choice Fast: Know Which Key-Value Store Fits Your System Design Needs]]></description><link>https://designsystemsweekly.substack.com/p/the-ultimate-key-value-store-comparison</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/the-ultimate-key-value-store-comparison</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Thu, 08 Jan 2026 13:52:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!efeg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!efeg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 424w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 848w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 1272w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!efeg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png" width="1456" height="581" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:581,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 424w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 848w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 1272w, /__u/substackcdn.com/image/fetch/$s_!efeg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fb8fed-9927-49cc-834d-fb7584e9bd9f_2000x798.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>1. Redis</strong></h2><blockquote><p><strong>The &#8220;Swiss Army Knife&#8221; of Key-Value Stores</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ztgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 424w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 848w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ztgr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png" width="1400" height="875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:875,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 424w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 848w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ztgr!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7db125-0971-47ce-a682-969a7c64e67b_1400x875.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you don&#8217;t know what to pick, you usually pick Redis. But be careful. Interviewers love to ask <em><strong>why</strong></em> you picked it over Memcached. Redis is an in-memory data structure store, meaning it doesn&#8217;t just store strings but also it understands lists, sets, and hashes.</p><ul><li><p><strong>What is it?</strong> In-memory, single-threaded (mostly), sub-millisecond latency store.</p></li><li><p><strong>Key Features:</strong> Persistence (RDB/AOF), Pub/Sub, Lua scripting, Geospatial support.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You need complex data structures (Leaderboards with Sorted Sets).</p></li><li><p>You need persistence (you don&#8217;t want to lose the cache on restart).</p></li><li><p>You are building a rate limiter or a job queue.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need multi-threaded performance (see Memcached).</p></li><li><p>Your dataset is larger than RAM (though Redis on Flash exists, it&#8217;s not the default).</p></li></ul><h2><strong>2. DynamoDB</strong></h2><blockquote><p><strong>The &#8220;I Don&#8217;t Want to Manage Servers&#8221; One</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3Zyg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 424w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 848w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3Zyg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png" width="600" height="350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 424w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 848w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3Zyg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82718e83-d1b9-4ac1-90ee-5b48c7835cc2_600x350.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Amazon&#8217;s answer to <em>&#8220;How do we make sure this never goes down?&#8221;</em>. It&#8217;s a fully managed, serverless key-value and document database that delivers single-digit millisecond performance at any scale.</p><ul><li><p><strong>What is it?</strong> A managed, serverless, distributed NoSQL database. Uses a B-tree under the hood (mostly).</p></li><li><p><strong>Key Features:</strong> Infinite scaling (literally), integrated with AWS IAM, Streams for event-driven architecture.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You are in an AWS ecosystem (obviously).</p></li><li><p>You need predictable performance regardless of scale (1GB or 1PB, it behaves the same).</p></li><li><p>You need a &#8220;Shopping Cart&#8221; or &#8220;User Profile&#8221; store that handles millions of TPS.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need complex joins or aggregations.</p></li><li><p>You are on a tight budget (provisioned throughput can get pricey if you miscalculate).</p></li></ul><h2><strong>3. FoundationDB</strong></h2><blockquote><p><strong>The &#8220;ACID Compliant&#8221; Distributed Beast</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3NBa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 424w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 848w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3NBa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png" width="850" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:850,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 424w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 848w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3NBa!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14e888c1-f2fa-4b1e-b7e4-bbdbd96bcdbe_850x288.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Apple bought this company for a reason. FoundationDB is unique because it provides <strong>ACID transactions</strong> across a distributed cluster. Most NoSQL DBs give up consistency for availability (AP in CAP theorem), but FoundationDB fights for Consistency.</p><ul><li><p><strong>What is it?</strong> A distributed, ordered key-value store with strong ACID guarantees.</p></li><li><p><strong>Key Features:</strong> The &#8220;Onion&#8221; architecture. The core is a KV store, and you build &#8220;Layers&#8221; (like SQL or Graph) on top of it.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You need strict correctness (financial transactions) but on a distributed scale.</p></li><li><p>You want to build <em>your own</em> database on top of a reliable engine.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need a simple cache.</p></li><li><p>You want a &#8220;batteries included&#8221; database with a query language like SQL out of the box (unless you use a Layer).</p></li></ul><h2><strong>4. Cassandra</strong></h2><blockquote><p><strong>The &#8220;Write Heavy&#8221; Heavyweight</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YXc5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 424w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 848w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YXc5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png" width="1200" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 424w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 848w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YXc5!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4af4fd65-c059-4eca-9fc0-424a0b0e829b_1200x806.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Okay, technically this is a &#8220;Wide-Column Store,&#8221; but in system design, we often treat it as a KV store where the value is a map of columns. It&#8217;s famous for being used by Facebook and Instagram.</p><ul><li><p><strong>What is it?</strong> A masterless, distributed database optimized for heavy writes.</p></li><li><p><strong>Key Features:</strong> Tunable Consistency (you can trade accuracy for speed), Peer-to-Peer architecture (no single point of failure), LSM Trees for fast writes.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You have a write-heavy workload (e.g., storing Discord chat logs or IoT sensor data).</p></li><li><p>You need high availability (AP) and can tolerate &#8220;Eventual Consistency.&#8221;</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need ACID transactions.</p></li><li><p>You need frequent updates/deletes (Cassandra hates tombstones).</p></li></ul><h2><strong>5. Riak DB</strong></h2><blockquote><p><strong>The &#8220;Amazon Dynamo&#8221; Sibling</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GWtr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 424w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 848w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GWtr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png" width="584" height="186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:186,&quot;width&quot;:584,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 424w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 848w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GWtr!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54ed32fe-fc19-4095-a0a6-75f51ec901dd_584x186.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Riak is an implementation of the famous Amazon Dynamo paper. It focuses purely on availability. If a node goes down, Riak doesn&#8217;t care. It just lets a neighbor handle the write.</p><ul><li><p><strong>What is it?</strong> A distributed, decentralized key-value store.</p></li><li><p><strong>Key Features:</strong> CRDTs (Conflict-free Replicated Data Types) to handle merge conflicts automatically.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>Your system MUST remain available even if half the data center burns down (e.g., Shopping Carts).</p></li><li><p>You are dealing with network partitions often.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need strong consistency.</p></li></ul><h2><strong>6. Etcd</strong></h2><blockquote><p><strong>The &#8220;Brain&#8221; of the Cluster</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!D-EX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 424w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 848w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!D-EX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png" width="800" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 424w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 848w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!D-EX!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c268b0-3561-4db8-b8ea-f8ca35c54cac_800x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you&#8217;ve used Kubernetes, you&#8217;ve used Etcd. It&#8217;s not for storing user data; it&#8217;s for storing the <em>state</em> of your system.</p><ul><li><p><strong>What is it?</strong> A strongly consistent, distributed key-value store. Uses the <strong>Raft</strong> consensus algorithm.</p></li><li><p><strong>Key Features:</strong> Watch API (clients get notified when keys change), Lease primitives.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>Service Discovery (who is the leader?).</p></li><li><p>Storing configuration data for a distributed system.</p></li><li><p>Distributed locking.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You want to store large amounts of data. It has a tiny storage limit (usually a few GBs).</p></li></ul><h2><strong>7. RocksDB</strong></h2><blockquote><p><strong>The &#8220;Embedded&#8221; Speedster</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!y_wy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 424w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 848w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!y_wy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png" width="375" height="110" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64683627-5252-4431-8983-500308428cdc_375x110.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:110,&quot;width&quot;:375,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 424w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 848w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y_wy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64683627-5252-4431-8983-500308428cdc_375x110.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is not a database server you connect to. It&#8217;s a <strong>C++ library</strong> you embed in your application. It was built by Facebook (forked from Google&#8217;s LevelDB) to exploit the full potential of fast storage like SSDs.</p><ul><li><p><strong>What is it?</strong> An embeddable persistent key-value store based on Log-Structured Merge (LSM) trees.</p></li><li><p><strong>Key Features:</strong> Insane write throughput, tunable trade-offs (Space vs. Read vs. Write amplification).</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You are building a database engine (CockroachDB and MySQL MyRocks use RocksDB under the hood!).</p></li><li><p>You need local, persistent, fast storage on a single node.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need a networked database server.</p></li><li><p>You need multi-machine replication out of the box.</p></li></ul><h2><strong>8. LevelDB</strong></h2><blockquote><p><strong>The &#8220;OG&#8221; Embedded Store</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zPeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 424w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 848w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zPeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png" width="397" height="152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:152,&quot;width&quot;:397,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 424w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 848w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zPeD!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1813a45f-243a-47c4-87eb-7a4a540be152_397x152.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Created by Jeff Dean and Sanjay Ghemawat at Google. It&#8217;s the predecessor to RocksDB. It&#8217;s simpler but single-threaded in some critical areas.</p><ul><li><p><strong>What is it?</strong> A fast key-value storage library providing an ordered mapping from string keys to string values.</p></li><li><p><strong>Key Features:</strong> Snappy compression, simple architecture.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You need a lightweight embedded store for a browser (Chrome uses it for IndexedDB) or mobile app.</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You have high-concurrency server workloads (use RocksDB instead).</p></li></ul><h2><strong>9. Memcached</strong></h2><blockquote><p><strong>The &#8220;Old School&#8221; Cache</strong></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!0oxO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 424w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 848w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0oxO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png" width="512" height="256" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 424w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 848w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0oxO!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30ad718d-8d43-40cc-98d2-c098f1b46e84_512x256.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Before Redis took over the world, Memcached was King. It is still widely used by giants like Meta because of its simplicity and multithreaded architecture.</p><ul><li><p><strong>What is it?</strong> A high-performance, distributed memory object caching system.</p></li><li><p><strong>Key Features:</strong> Multithreaded architecture (scales well on big CPUs), extremely simple Key-Value model.</p></li></ul><p><strong>Use this when:</strong></p><ul><li><p>You need raw, simple caching power and have vertical scaling needs (multithreading).</p></li><li><p>You cache small, static objects (HTML fragments, session data).</p></li></ul><p><strong>Don&#8217;t use this when:</strong></p><ul><li><p>You need persistence (if you restart, data is gone).</p></li><li><p>You need advanced data types (Lists, Sets).</p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Till next time, happy learning!</p>]]></content:encoded></item><item><title><![CDATA[EP11: Understanding Cache Line Bouncing, Flame Graphs, and Netflix-Scale Engineering]]></title><description><![CDATA[Hey there reader, a warm welcome to the 11th episode of the System Design Weekly!]]></description><link>https://designsystemsweekly.substack.com/p/ep11-cache-line-bouncing-flame-graphs</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep11-cache-line-bouncing-flame-graphs</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sun, 14 Dec 2025 12:54:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!O9xY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there reader, a warm welcome to the 11th episode of the <em><strong>System Design Weekly</strong></em>!</p><p>If you have tackled concurrent programs, you would know that such programs can fail in ways that defy traditional logic. In this edition, we are going to discuss one such issue. We call it <em><strong>Cache Line Bouncing</strong></em> or <em><strong>False Sharing</strong></em>. You will find out how multiple cores and caches cause performance issues that just don&#8217;t exists in single threaded environments.</p><p>While at the topic of CPU usage optimizations, we also discuss <em><strong>Flame Graphs</strong></em>. These graphs are designed specifically to analyze call stacks, quickly revealing hot paths and wasted cycles. If you find yourself debugging CPU issues at very low levels, a Flame Graph is the essential tool to have in your toolbox. </p><p>And before we bid adieu, we share an amazing writeup from the <em><strong>Netflix Engineering</strong></em> team that talks about how they fixed a container scaling issue on AWS nodes. </p><p>So, if that all sounds interesting to you, read on!</p><div><hr></div><h3>&#129432; Cache Line Bouncing (aka False Sharing)</h3><p>For a CPU to operate on any data, that data must first be loaded into its registers. To reach the registers, data typically moves from main memory and passes through the cache hierarchy, starting with the L3 cache, then the L2 cache, and then the L1 cache, before finally being loaded into the registers. Once the data is in the registers, the CPU can read or modify it. Any modifications are eventually propagated back to lower level caches and ultimately to main memory according to the cache coherence and write back policies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!O9xY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 424w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 848w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 1272w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!O9xY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png" width="1456" height="1014" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1014,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:288111,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/181565308?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 424w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 848w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 1272w, /__u/substackcdn.com/image/fetch/$s_!O9xY!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8674fa-f9c2-4458-99bd-236107ec2b1c_2370x1650.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When the CPU fetches data from memory, it does not load only the requested bytes. It also brings in nearby bytes. This behavior is a direct consequence of the <strong>Locality of Reference</strong> principle.</p><blockquote><p><strong>Locality of Reference</strong> is a fundamental principle stating that programs tend to repeatedly access a small set of memory locations over short periods, which is key to effective caching.</p><p>It has two forms:</p><ul><li><p><strong>Temporal locality</strong>: recently accessed data is likely to be accessed again soon (e.g., loop variables).</p></li><li><p><strong>Spatial locality</strong>: accessing one memory location increases the likelihood of accessing nearby locations (e.g., array iteration).</p></li></ul></blockquote><p>Because of this, cache entries do not store individual variables, pointers, or objects. Instead, the CPU cache is organized into fixed size blocks of bytes called <em><strong>Cache Lines</strong></em>, typically 64 or 128 bytes in size.</p><p>A Java long is 8 bytes, so in a single cache line you could have 8 long variables.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9edu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 424w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 848w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9edu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png" width="384" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6640961d-f62f-4e3a-9587-415f399596f1_384x290.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 424w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 848w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9edu!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6640961d-f62f-4e3a-9587-415f399596f1_384x290.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://trishagee.com/2011/07/22/dissecting_the_disruptor_why_its_so_fast_part_two__magic_cache_line_padding/">Source</a></figcaption></figure></div><p>Now comes the interesting part&#8230; If two variables accessed by different CPU cores are placed in memory such that they reside on the same cache line, they will be fetched and updated together. This can lead to subtle and serious performance problems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VFbP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 424w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 848w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VFbP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png" width="1456" height="990" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:990,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:752000,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/181565308?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 424w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 848w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VFbP!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc134442d-b27b-453a-bb35-8dde72fb7349_2418x1644.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When data accessed across cores happens to fall into a single cache line, access to a cache line by any one processor will expire the cache of any other processor holding that same line. This causes every context switch to fetch the cache line again. This exact situation is described as the <em><strong>Cache Line Bouncing</strong></em>.</p><p>A standard way of fixing this is to ensure that variables accessed across cores are not part of the same cache line by adding sufficient padding between them. </p><div><hr></div><h3>&#128293; Flame Graphs</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eGUt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 424w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 848w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eGUt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:589616,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/181565308?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 424w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 848w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eGUt!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68e97f02-499f-49f7-b967-916c3269b92a_2840x1472.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html">Source</a></figcaption></figure></div><p><em><strong>Flame graphs</strong></em> are a visualization tool for performance profiling that helps identify which code paths consume the most CPU time.</p><p>In words of <a href="https://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html">Brenadan</a>, this is how you can read a flame graph.</p><ul><li><p>Each box represents a function in the stack (a &#8220;stack frame&#8221;).</p></li><li><p>The <strong>y-axis</strong> shows stack depth (number of frames on the stack). The top box shows the function that was on-CPU. Everything beneath that is ancestry. The function beneath a function is its parent, just like the stack traces shown earlier. (Some flame graph implementations prefer to invert the order and use an &#8220;icicle layout&#8221;, so flames look upside down.)</p></li><li><p>The <strong>x-axis</strong> spans the sample population. It does <em>not</em> show the passing of time from left to right, as most graphs do. The left to right ordering has no meaning (it&#8217;s sorted alphabetically to maximize frame merging).</p></li><li><p>The width of the box shows the <em>total</em> time it was on-CPU or part of an ancestry that was on-CPU (based on sample count). Functions with wide boxes may consume more CPU per execution than those with narrow boxes, or, they may simply be called more often. The call count is not shown (or known via sampling).</p></li><li><p>The sample count can exceed elapsed time if multiple threads were running and sampled concurrently.</p></li></ul><div><hr></div><h3><strong>&#128294; Tech Spotlight!</strong></h3><p>In this week&#8217;s Tech Spotlight, we bring to you an engineering masterpiece from <em><strong>Netflix engineering</strong></em> team.</p><p>&#10149; <strong><a href="https://netflixtechblog.medium.com/mount-mayhem-at-netflix-scaling-containers-on-modern-cpus-f3b09b68beac">Mount Mayhem at Netflix: Scaling Containers on Modern CPUs</a></strong></p><p>In this blog, Netflix engineers talk about the delay they noticed when trying to start 100s of container at once. Their investigation dives deep into several fascinating topics, including OverlayFS, Cache Line Bouncing, and Kernel ID Mapping. While the content is technical, it&#8217;s an eye-opening read, and once you dig in, you&#8217;ll be in awe of the insights shared.</p><div><hr></div><p><em>That brings us to the close of this episode! If you enjoyed reading it, consider dropping in a &#10084;&#65039; below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you in the next edition of the System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[EP10: The N+1 Problem]]></title><description><![CDATA[Welcome to a much awaited episode of the System Design Weekly!]]></description><link>https://designsystemsweekly.substack.com/p/ep10-the-n1-problem</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep10-the-n1-problem</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sat, 08 Nov 2025 03:20:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1AAm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to a much awaited episode of the <em><strong>System Design Weekly</strong></em>!</p><p>In this edition of the newsletter, we have an interesting topic in focus - <em><strong>the N+1 problem</strong></em>. This is a common performance bottleneck that many data intensive application face, particulary the ones using some sort of Object Relational Mapping (or ORM for short). </p><p>For this edition&#8217;s <em><strong>Tech Spotlight</strong></em>, we have an awesome blog from <em><strong>Atlassian&#8217;s engineering</strong></em> team covering how they scaled <em><strong>Jira export service </strong></em>using a streaming architecture. </p><div><hr></div><h3>&#128680;The N+1 Problem in Software Engineering</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1AAm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 424w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 848w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1AAm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png" width="875" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:875,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 424w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 848w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1AAm!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6949a452-5342-4ce2-a2ed-49b1ac185be9_875x576.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>An <em><strong>Object-Relational Mapping (ORM)</strong></em> is a software tool or technique that creates a conceptual &#8220;bridge&#8221; between the structure of a <em><strong>relational database</strong></em> (like tables, rows, and columns) and the <em><strong>object-oriented</strong></em> concepts used in modern programming languages (like classes, objects, and properties).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5nPj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 424w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 848w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5nPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138943,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/178282359?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 424w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 848w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5nPj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe644676-4d5d-427e-8f88-194415cc363d_2020x1202.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When database tables have relationships (like <strong>one-to-one</strong>, <strong>one-to-many</strong>, etc.), ORMs have a special way of loading the data for related objects.</p><p>&#128564; <strong>Lazy Loading</strong></p><p>Imagine you have two related objects, <strong>A</strong> and <strong>B</strong>. When you load object <strong>A</strong>, the ORM generally doesn&#8217;t load object <strong>B</strong> immediately. This is called <strong>lazy loading</strong>.</p><ul><li><p>It saves a database trip if you only need object A.</p></li><li><p>The ORM puts a placeholder for B inside A.</p></li><li><p>If you later try to access object B through A, the ORM makes a second database call right then to fetch B.</p></li></ul><p>&#128165; <strong>The N+1 Problem</strong></p><p>Lazy loading is usually good for performance, but it can cause problems when you need <em>all</em> related objects at once, like listing many As and their associated Bs.</p><ul><li><p>The ORM first runs one query to get all N objects of type A.</p></li><li><p>Then, as you loop through these N objects and ask for their related B, the ORM runs one separate query for <em>each</em> object A to get its B.</p></li><li><p>This results in <strong>N + 1 total queries</strong> (1 for all A&#8217;s + N individual queries for all B&#8217;s), which is very slow. This is known as the <strong>N+1 query problem</strong>.</p></li></ul><p>Most modern ORMs offer methods to avoid this, like <strong>eager loading</strong> (fetching all related data in one or two efficient queries upfront).</p><p>&#187; <em>If you would like to know more about tackling N+1 problem in Java, checkout our <a href="https://levelup.gitconnected.com/3-ways-to-deal-with-hibernates-n-1-problem-for-java-developers-94e088274e06">Medium</a> blog!</em></p><div><hr></div><h3><strong>&#128294; Tech Spotlight!</strong></h3><p>Optimizing application&#8217;s performance is both an exciting and challenging endeavor. In this edition of Tech Spotlight, we feature an insightful piece from the Atlassian Engineering blog that talks about performance optimization of Jira export.</p><p>&#10149; <strong><a href="https://www.atlassian.com/blog/atlassian-engineering/boosting-performance-how-we-scaled-and-enhanced-throughput-in-the-jira-export-service">Boosting Performance: How We Scaled and Enhanced Throughput in the Jira Export Service</a></strong></p><p>The article dives deep into the architecture of the Jira export service and how a major architecture rehaul was required to eliminate the bottlenecks. The author also delves into the code-level optimizations, particularly solving the N+1 query problem, that significantly reduced latency.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!NSXj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!NSXj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg" width="1456" height="666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!NSXj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F498ebfd6-4292-4824-b964-02843c5d6226_1477x676.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Definitely a must read for system architects, backend developers, and anyone with a curiosity to learn!</p><div><hr></div><div class="poll-embed" data-attrs="{&quot;id&quot;:402204}" data-component-name="PollToDOM"></div><div><hr></div><p><em>And that is it for this edition! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you in the next edition of the System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[Stack Overflow Classics I Stole for My .bashrc (You Should Too)]]></title><description><![CDATA[My favorite shell hacks&#8230; Ready to paste!]]></description><link>https://designsystemsweekly.substack.com/p/stack-overflow-classics-i-stole-for</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/stack-overflow-classics-i-stole-for</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Wed, 05 Nov 2025 05:44:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hOPj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hOPj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 424w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 848w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hOPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png" width="1400" height="735" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:735,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 424w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 848w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hOPj!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ecfd58f-75fc-4f8b-ac89-49aea9c4a752_1400x735.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://stackoverflow.blog/2019/07/18/building-community-inclusivity-stack-overflow/'">Source</a></figcaption></figure></div><p>Stack Overflow is one of the most underrated source of knowledge for developers. Threads, almost as old as 20 years, contain wisdoms &amp; advice from great developers. Following those wisdoms alone will make anyone a 2x developer!</p><p>Over the course of my software development journey, I too have learnt &amp; picked a lot of things from this amazing site.</p><p>In this post, I would like to share some of the things in my <code>.bashrc</code> that I have their origin straight from SO and seriously impacted (in a positive way) the way I code &amp; develop.</p><h3><strong>Delete Files in Terminal Safely</strong></h3><p>Familiar with <code>rm -rf</code>? Yes, the command that deletes files and folder <strong>FOREVER</strong>!</p><p>Once it is used on a file/folder, there is no going back.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!TgQG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 424w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 848w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!TgQG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif" width="400" height="225" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:225,&quot;width&quot;:400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 424w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 848w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!TgQG!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f105e09-a10f-4baf-9b68-0618619cc567_400x225.gif 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://itsfoss.com/sudo-rm-rf/">Source</a></figcaption></figure></div><p>You know how easy it is to fat-finger a command? You mean to wipe just the current folder with <code>rm -rf ./*</code>, but you miss the dot and type <code>rm -rf /*</code> instead. Boom! Now you&#8217;re aiming at the whole filesystem. All from one tiny typo. Yikes.</p><p>In your bashrc, you can add the following alias to always use option <code>-i</code> with <code>rm</code> command.</p><pre><code>alias rm=&#8217;rm -i --preserve-root&#8217;</code></pre><p>The <code>-i</code> option makes <code>rm</code> prompts for every file it is about to delete and <code>--preserve-root</code> ensures that you can never delete <code>/</code>.</p><p>Another less intrusive way of ensuring safety is to use the <code>-I</code> option.</p><pre><code>alias rm=&#8217;rm -I --preserve-root&#8217;</code></pre><p>The man page of <code>rm</code> describes the <code>-I</code> option as follows ~</p><blockquote><p><em>Request confirmation once if more than three files are being removed or if a directory is being recursively removed. This is a far less intrusive option than <strong>-i</strong> yet provides almost the same level of protection against mistakes.</em></p></blockquote><p>With this small alias in your bashrc, you can always be confident of any <code>rm</code> commands that you run!</p><h3><strong>Tired of cd ../../../../../ ?</strong></h3><p>When trying to move up multiple directories at once, we use the <code>cd</code> command as <code>cd ../../../../..</code>. This is both time-taking and error-prone.</p><p>At least, I often find myself over-stepping or under-stepping directories, requiring an extra <code>cd</code> command to reach the current position.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!E7Iy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!E7Iy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg" width="680" height="522" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:522,&quot;width&quot;:680,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!E7Iy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F446bebdb-50f5-4a33-80e5-a81f149ad938_680x522.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://programmerhumor.io/linux-memes/two-linux-types-5fjw">Source</a></figcaption></figure></div><p>To solve this exact pain point, you can add a convenient <code>up</code> function in your bashrc.</p><pre><code>up() { cd $(eval printf &#8216;../&#8217;%.0s {1..$1}) &amp;&amp; pwd;}</code></pre><p>Once sourced, you can use the <code>up</code> function to conveniently move up directories.</p><pre><code>&#10095; cd projects
&#10095; up 3
/
&#10095;</code></pre><p>This small utility can help you move around your filesystem much quickly!</p><h3><strong>Create Directory and Switch to it in one step</strong></h3><p>I always wonder why there isn&#8217;t a famous CLI tool that creates a directory and switch to it in a single go.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-I6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-I6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg" width="496" height="446" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:446,&quot;width&quot;:496,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!-I6s!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b2fb42-1706-4bf9-997d-e3a5ee1e295f_496x446.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.reddit.com/r/ProgrammerHumor/comments/jqx89l/linux_be_like/?rdt=41809">Source</a></figcaption></figure></div><p>Luckily, it is not that difficult to write your own bash function to achieve this.</p><pre><code>md() {
  mkdir &#8220;$1&#8221; &amp;&amp; cd &#8220;$1&#8221;
}</code></pre><p>And with that, we have our own method to create and change directory at once!</p><h3><strong>A function that extracts anything?</strong></h3><p>If you are not a terminal wizard, chances are that anytime you need to unpack a compressed file, you refer to the internet.</p><p>I found this amazing function that can be used to extract a number of file types. (<em><a href="https://itsfoss.gitlab.io/post/a-bash-function-to-extract-file-archives-of-various-types/?utm_source=chatgpt.com">Source</a></em>)</p><pre><code>extract() {
    local archive_file=&#8221;$1&#8221;
    local extract_dir=&#8221;$2&#8221;

    # Check if an archive file is provided
    if [[ -z &#8220;$archive_file&#8221; ]]; then
        echo &#8220;Usage: extract &lt;archive_file&gt; [extract_directory]&#8221;
        return 1
    fi

    # Determine the extraction directory
    if [[ -z &#8220;$extract_dir&#8221; ]]; then
        extract_dir=&#8221;.&#8221;
    fi

    # Ensure the archive file exists
    if [[ ! -f &#8220;$archive_file&#8221; ]]; then
        echo &#8220;Error: File &#8216;$archive_file&#8217; not found.&#8221;
        return 1
    fi

    # Get the file extension
    local extension=&#8221;${archive_file##*.}&#8221;
    local base_name=&#8221;${archive_file%.*}&#8221;

    # Use a case statement to handle different archive types
    case &#8220;$archive_file&#8221; in
        *.tar.gz|*.tgz)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            tar -xzf &#8220;$archive_file&#8221; -C &#8220;$extract_dir&#8221;
            ;;
        *.tar.bz2|*.tbz2)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            tar -xjf &#8220;$archive_file&#8221; -C &#8220;$extract_dir&#8221;
            ;;
        *.tar.xz|*.txz)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            tar -xJf &#8220;$archive_file&#8221; -C &#8220;$extract_dir&#8221;
            ;;
        *.tar)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            tar -xf &#8220;$archive_file&#8221; -C &#8220;$extract_dir&#8221;
            ;;
        *.zip)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            unzip -q &#8220;$archive_file&#8221; -d &#8220;$extract_dir&#8221;
            ;;
        *.rar)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            if command -v unrar &amp;&gt; /dev/null; then
                unrar x -o+ &#8220;$archive_file&#8221; &#8220;$extract_dir/&#8221;
            else
                echo &#8220;Error: &#8216;unrar&#8217; command not found. Please install it.&#8221;
                return 1
            fi
            ;;
        *.7z)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            if command -v 7z &amp;&gt; /dev/null; then
                7z x &#8220;$archive_file&#8221; -o&#8221;$extract_dir&#8221;
            else
                echo &#8220;Error: &#8216;7z&#8217; command not found. Please install it.&#8221;
                return 1
            fi
            ;;
        *.ar)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            if command -v ar &amp;&gt; /dev/null; then
                ar x &#8220;$archive_file&#8221; &#8220;$extract_dir/&#8221;
            else
                echo &#8220;Error: &#8216;ar&#8217; command not found. Please install it.&#8221;
                return 1
            fi
            ;;
        *.cpio)
            echo &#8220;Extracting $archive_file to $extract_dir...&#8221;
            if command -v cpio &amp;&gt; /dev/null; then
                cpio -idm -D &#8220;$extract_dir&#8221; &lt; &#8220;$archive_file&#8221;
            else
                echo &#8220;Error: &#8216;cpio&#8217; command not found. Please install it.&#8221;
                return 1
            fi
            ;;
        *)
            echo &#8220;Unsupported archive format for &#8216;$archive_file&#8217;.&#8221;
            return 1
            ;;
    esac

    # Check if the extraction was successful
    if [[ $? -eq 0 ]]; then
        echo &#8220;Successfully extracted &#8216;$archive_file&#8217; to &#8216;$extract_dir&#8217;.&#8221;
        return 0
    else
        echo &#8220;Error during extraction of &#8216;$archive_file&#8217;.&#8221;
        return 1
    fi
}</code></pre><p>With this function added to your bashrc, you can use it as follows ~</p><pre><code>extract my_archive.tar.gz

# Extracting to a specific directory
extract my_document.zip /path/to/destination/folder

extract backup.rar

extract software.7z</code></pre><h3><strong>Jump to the root of git repo</strong></h3><p>Another interesting bash function that I have kept in my bashrc is the <code>gr</code>. It helps me jump to the root of the working tree from anywhere inside a git repo.</p><p>Following is the function that achieves this!</p><pre><code>gr() {
  cd &#8220;$(git rev-parse --show-toplevel 2&gt;/dev/null)&#8221; || echo &#8220;Not in a git repo&#8221;;
}</code></pre><h3><strong>Rerun last command as sudo</strong></h3><p>Ran a command only to see it failing because it has not been run with <code>sudo</code>?</p><p>One option is to use the <code>sudo !!</code> to run the last command with sudo, or, you can create an alias (like me) to run the last command as sudo!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!xs8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!xs8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg" width="500" height="281" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:281,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!xs8G!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F928bdcee-37a0-4618-84bd-ad8c4865e6af_500x281.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://askubuntu.com/questions/300832/run-same-command-again-but-as-root">Source</a></figcaption></figure></div><p>Add the following to your bashrc.</p><pre><code>alias please=&#8217;sudo !!&#8217;</code></pre><p>And, use the <code>please</code> command to run the last command with sudo!</p><h3><strong>Find files by name</strong></h3><p>The <code>find</code> is a powerful command that is used for searching through files and folders recursively. With its variety of options and configurations, it can be used for a number of <em><strong>find</strong> </em>tasks.</p><p>But this level of customization comes with its own cons. Sometimes, for doing simple things, such as finding files by name, you have to remember the right options or look them up online.</p><p>Additionally, searching file by name is a common operation that can be added as a function in your bashrc.</p><pre><code>ff() { [ -n &#8220;$1&#8221; ] &amp;&amp; find . -type f -iname &#8220;*$1*&#8221;; }</code></pre><p>Once this function is added in your bashrc, you can use it to find files in any directory (and its sub-directories recursively).</p><h3><strong>Use bat instead of cat</strong></h3><p>The <code>cat</code> command is one of the most popular commands developers use.</p><p>The <a href="https://github.com/sharkdp/bat">bat</a> tool is a clone of famous cat program with support for syntax highlighting and git integration.</p><p>You can simply create an alias for bat like the following and you will supercharge your cat command!</p><pre><code>alias cat=&#8217;bat --paging=never&#8217;</code></pre><p>With this we reach the end of this article.</p><p>Did you happen to already use any of these gems? Or, does anything here got your attention that you will start using it? Do let us all know in the comments!</p><p>If you enjoyed reading this piece, drop a clap and do follow me for more such interesting reads.</p><p>Until next time, happy reading!</p><div><hr></div><p><em><strong>Originally posted on <a href="https://medium.com/gitconnected/stack-overflow-classics-i-stole-for-my-bashrc-you-should-too-db7de46b083e">Medium</a>.</strong></em></p>]]></content:encoded></item><item><title><![CDATA[Episode 5 - Bigtable: Google's Distributed Storage System]]></title><description><![CDATA[Unraveling the design of Google's Engineering Marvel!]]></description><link>https://designsystemsweekly.substack.com/p/episode-5-bigtable-googles-distributed</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/episode-5-bigtable-googles-distributed</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Tue, 01 Jul 2025 07:46:07 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/167247089/9f7b99b7ffa23766f3198c0fa45f6e9f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>In the fifth episode of the System Design Weekly Podcast, we dive into one of Google&#8217;s most influential contributions to distributed storage systems: Bigtable.</strong></p><p>Based on Google&#8217;s seminal <a href="https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf">Bigtable white paper</a>, this episode unpacks how Bigtable powers massive-scale applications like Search, Maps, and Gmail&#8212;and how it inspired a generation of NoSQL systems like HBase and Cassandra.</p><p>We break down Bigtable&#8217;s core design, including its data model, SSTables, memtables, and the tablet-based architecture that allows it to scale horizontally across thousands of machines. We also explore how Bigtable achieves consistency and fault tolerance using technologies like the Google File System (GFS) and Chubby.</p><p>Whether you're building distributed systems yourself or simply curious about how planet-scale data infrastructure works, this episode will give you a solid foundation in one of the most impactful systems in modern computing.</p><p>Tune in to learn how Bigtable balances performance, scalability, and reliability at a truly massive scale.</p><blockquote><p><em><strong>P.S. AI was used to record this podcast.</strong></em></p></blockquote>]]></content:encoded></item><item><title><![CDATA[6 Authentication Methods for Web Apps]]></title><description><![CDATA[The Pros, Cons, and Use Cases of Today&#8217;s Most Popular Auth Methods]]></description><link>https://designsystemsweekly.substack.com/p/6-authentication-methods-for-web</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/6-authentication-methods-for-web</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sun, 15 Jun 2025 16:11:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5L2F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5L2F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 424w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 848w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5L2F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png" width="1456" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 424w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 848w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5L2F!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29de2ff5-fa86-4d8b-a277-1a035c281100_2000x1291.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When I first started building web apps, &#8220;authentication&#8221; just meant logging in. Simple, right?</p><p>But then came questions &#8212; What&#8217;s a token? Should I use cookies or API keys? Why are there so many options just to verify a user?</p><p>Turns out, each method has a purpose. Some are outdated, some are secure, and others are great for specific use cases.</p><p>In this blog, I&#8217;ll break down six common authentication methods &#8212; <strong>Basic Auth, Cookies, Tokens, API Keys, OTP, and SSO</strong> &#8212; and explain when (and why) to use each.</p><p>Let&#8217;s get started.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><h2><strong>Basic Authentication</strong></h2><p>Basic authentication works by sending the encoded username and password to the server with every request. These credentials are included in the request headers.</p><p>The username and password are combined into a single string and encoded using Base64. This encoded string is then sent in the <code>Authorization</code> header of the HTTP request.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!IfG9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 424w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 848w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!IfG9!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif" width="800" height="410" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:410,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 424w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 848w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!IfG9!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F236d8d2b-8b69-47df-8292-e6d61b357c88_800x410.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">designsystemsweekly.substack.com</figcaption></figure></div><blockquote><p><em>Basic Authentication is one of the oldest authentication mechanism that dates back to 1990s.</em></p></blockquote><p>While Basic Authentication is simple and efficient, it is not very secure, as the credentials are merely Base64-encoded &#8212; making them easily reversible. This leaves it vulnerable to man-in-the-middle attacks, especially when used over an insecure protocol like HTTP.</p><p>There is also no easy way to log out a user through the server.</p><p>Even with a secure protocol underneath, basic authentication can suffer from CSRF attacks. Because of these reasons, most of the modern web applications have moved away from it in pursuit of safer authentication mechanisms.</p><h2><strong>Cookie-Based Authentication</strong></h2><p>Cookie-based authentication works by generating a session ID when the user logs in, which is then stored as a cookie in the user&#8217;s browser. For subsequent requests, the browser automatically includes this cookie, allowing the server to verify the user&#8217;s identity.</p><p>The generated session ID is given an expiry time to ensure that a single cookie cannot be used for infinity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wwYy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 424w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 848w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wwYy!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif" width="800" height="377" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:377,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 424w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 848w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!wwYy!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5736ed20-0ca0-43b3-9bb9-80c841895fbb_800x377.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">designsystemsweekly.substack.com</figcaption></figure></div><p>Cookie-based authentication improves upon Basic Authentication by allowing the server to manage user sessions. This enables features like server-side logout, where a user can be forcibly logged out by invalidating their session on the server.</p><p>Modern browsers offer several mechanisms to help protect cookies from security threats such as Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF). Features like the <code>HttpOnly</code>, <code>Secure</code>, and <code>SameSite</code> cookie flags help reduce these vulnerabilities.</p><p>However, cookie-based authentication isn&#8217;t without drawbacks. Session data must be stored on the server, which consumes resources and may not scale easily. Additionally, cookies are primarily designed for web browsers and are not well-suited for other types of clients, such as mobile apps or APIs.</p><h2><strong>Token-Based Authentication</strong></h2><p>In this authentication method, the server responds to a user&#8217;s login request by issuing a token. The token is self-contained, meaning it carries all the information needed for verification, and it&#8217;s designed to be tamper-proof.</p><p>In token-based authentication, the server doesn&#8217;t need to store any session data &#8212; only a public key (if using signed tokens like JWTs) to verify the token provided by the client. This contrasts with session-based authentication, where the server must maintain session state.</p><p>Once the client obtains a token, it can include it in the request headers to make authenticated requests. This makes token-based authentication stateless and well-suited for scalable, distributed systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jgt4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 424w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 848w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jgt4!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif" width="800" height="341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:341,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 424w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 848w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!jgt4!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd441e02-cfb1-4da8-aef8-56eabd4fb4aa_800x341.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">designsystemsweekly.substack.com</figcaption></figure></div><p>Applications using token-based authentication are simpler to scale and can support a wide variety of clients.</p><blockquote><p><em>The most popular token based authentication is Json Web Tokens (or JWT).</em></p></blockquote><p>There are some downsides as well. If tokens are not securely stored on the client side, they can be stolen and used to impersonate the user. Additionally, tokens &#8212; especially those containing payload data like JWTs &#8212; are typically larger in size compared to other authentication mechanisms, leading to slightly higher bandwidth usage.</p><h2><strong>API Key-Based Authentication</strong></h2><p>API key-based authentication is a method for authenticating users or applications accessing an API (Application Programming Interface).</p><p>An API key is a unique identifier (usually a long alphanumeric string) issued to a developer or application to access an API. It acts as a simple access token, identifying the calling project or app.</p><p>API keys are issued when developers register with an API provider and request access. These keys are typically associated with specific projects and can be configured with varying levels of access control. API providers use them to monitor usage and enforce rate limits, often for billing, analytics, or security purposes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!DSQ6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 424w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 848w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!DSQ6!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif" width="800" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 424w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 848w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!DSQ6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ad506d-9627-4fbe-b6c3-15ca5d5a930b_800x436.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">designsystemsweekly.substack.com</figcaption></figure></div><p>There are several different ways in which a client can send an API key to the server -</p><ol><li><p><strong>HTTP Header &#8212; </strong><code>Authorization: Api-Key &lt;your_api_key&gt;</code> or <code>x-api-key: &lt;your_api_key&gt;</code></p></li><li><p><strong>Query Parameter &#8212; </strong><code>https://api.example.com/data?api_key=&lt;your_api_key&gt;</code></p></li><li><p><strong>Request Body</strong> (for POST requests) &#8212; <code>{ "api_key": "&lt;your_api_key&gt;" }</code></p></li></ol><h2><strong>OTP Based Authentication</strong></h2><p>Another widely used authentication method in modern software applications is <strong>OTP-based authentication (One-Time Password)</strong>. Unlike traditional fixed passwords, OTP authentication relies on a unique, time-sensitive code that is valid for only one login session or transaction.</p><p>When a user attempts to log in, the server generates a one-time password with a short expiry window (typically 30 seconds to a few minutes). This OTP is sent to the user via a trusted, pre-verified channel &#8212; such as a registered mobile number (via SMS) or email address. The user must enter the correct OTP to complete the login process.</p><p>This method adds an additional layer of security by:</p><ul><li><p>Reducing the risk of password reuse and phishing attacks</p></li><li><p>Ensuring that only the rightful user (with access to the trusted device/email) can log in</p></li></ul><p>Once the OTP is verified and the user is successfully authenticated, the system typically issues a <strong>session token or cookie</strong> to maintain the user&#8217;s authenticated state for the duration of the session. This token is then used for subsequent requests, avoiding the need to re-enter credentials repeatedly.</p><blockquote><p><em>&#128272; OTP authentication is often used as a form of <strong>two-factor authentication (2FA)</strong> when combined with a traditional password, further strengthening account security.</em></p></blockquote><h2><strong>Single Sign On (SSO)</strong></h2><p>Single Sign-On (SSO) is a way to let users log in just once and then access multiple apps or systems without having to log in again each time. After the user signs in through the SSO provider, a token is created and passed to other trusted services, so the user can move between them smoothly without being asked to enter their credentials again.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BEBw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 424w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 848w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BEBw!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif" width="800" height="462" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09c81a06-f860-41f2-9144-274adb23b245_800x462.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:462,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 424w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 848w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!BEBw!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09c81a06-f860-41f2-9144-274adb23b245_800x462.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">designsystemsweekly.substack.com</figcaption></figure></div><p>Here is how it works</p><ul><li><p>The user visits the website and tries to log in.</p></li><li><p>The website checks if the user is already logged in through the presence of some tokens or cookies. If it is, the request is processed.</p></li><li><p>If not, the user is redirected to the SSO login page.</p></li><li><p>The user logs in through the SSO system.</p></li><li><p>SSO verifies credentials with the identity provider (e.g., Active Directory).</p></li><li><p>Upon successful verification, SSO sends authentication info to the website.</p></li><li><p>The website grants access and uses tokens/cookies to maintain authentication across other apps or pages.</p></li></ul><div><hr></div><p><em>Article originally posted <a href="https://medium.com/p/abb969e96dc6">here</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading System Design Weekly! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[EP9: The Many Types of Testing in Software Engineering]]></title><description><![CDATA[Welcome back to yet another weekly edition of the System Design Weekly! In episode 9, we are exploring one of the most important parts of Software Engineering - The Software Testing.]]></description><link>https://designsystemsweekly.substack.com/p/ep9-the-many-types-of-testing-in</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep9-the-many-types-of-testing-in</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sat, 31 May 2025 07:04:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!znFg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome back to yet another weekly edition of the <em><strong>System Design Weekly</strong></em>! In episode 9, we are exploring one of the most important parts of Software Engineering - <em><strong>The</strong></em> <em><strong>Software Testing</strong></em>. </p><p>Software comes in many forms, built with diverse tech stacks and designed to meet various functional and non-functional requirements. That&#8217;s why there&#8217;s no universal approach to testing. In fact, the industry uses over 100 different testing methods. Today, we&#8217;ll explore 20 of the most popular ones.</p><p>In this week&#8217;s <em><strong>Tech Spotlight</strong></em>, we present yet another article by <em><strong>DropBox&#8217;s</strong></em> engineering team discussing how &amp; why they built their in-house <em><strong>Load Balancer </strong></em>called<em><strong> Robinhood</strong></em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h3>&#129514; 20 Ways for Software Testing</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!znFg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 424w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 848w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 1272w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!znFg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic" width="728" height="407" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:261129,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/163310078?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 424w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 848w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 1272w, /__u/substackcdn.com/image/fetch/$s_!znFg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F648c4e8e-df81-4493-83bf-72d0b82bc13f_1799x1006.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Software testing can be classified across <strong>three dimensions</strong>: by <strong>level</strong>, by <strong>purpose</strong>, and by <strong>execution method</strong>, with additional <strong>specialised types</strong> for targeted use cases.</p><h4><strong>&#129692;Tests by Level</strong></h4><ol><li><p><strong>Unit Testing</strong>: Tests individual components (functions, classes). Written by developers. Fast and automated.</p></li><li><p><strong>Integration Testing</strong>: Ensures modules work together properly. Written by devs and QAs.</p></li><li><p><strong>System Testing</strong>: Tests the full, integrated application. Managed by QAs. Covers end-to-end workflows.</p></li><li><p><strong>Acceptance Testing</strong>: Verifies business requirements are met before release. Often done by Solution Architects.</p></li></ol><h4>&#127919; <strong>Tests by Purpose</strong></h4><ol><li><p><strong>Regression Testing</strong>: Ensures old functionality still works after updates.</p></li><li><p><strong>Smoke Testing</strong>: High-level check after build/deploy to ensure critical functionality works.</p></li><li><p><strong>Functional Testing</strong>: Verifies specific software features behave as expected (black-box).</p></li><li><p><strong>Sanity Testing</strong>: Quick checks after minor changes to ensure stability.</p></li><li><p><strong>Exploratory Testing</strong>: Manual, unscripted testing to find unexpected issues.</p></li><li><p><strong>Non-Functional Testing</strong>: Focuses on performance, scalability, security, and usability.<br><em>Includes: Performance, Load, Stress, and Security Testing</em></p></li></ol><h4>&#9881;&#65039; <strong>Tests by Execution</strong></h4><ul><li><p><strong>Manual Testing</strong>: Performed by humans without automation.</p></li><li><p><strong>Automated Testing</strong>: Uses scripts/tools to run and verify tests efficiently.</p></li></ul><h4>&#129513; <strong>Specialised Tests</strong></h4><ul><li><p><strong>Black-Box Testing</strong>: Focuses on inputs/outputs, no internal knowledge.</p></li><li><p><strong>White-Box Testing</strong>: Tests internal code and logic.</p></li><li><p><strong>Grey-Box Testing</strong>: Combines limited internal knowledge with external testing.</p></li><li><p><strong>A/B Testing</strong>: Compares different versions to measure performance.</p></li><li><p><strong>Performance Testing</strong>: Measures system responsiveness under load.</p><ul><li><p><em>Load Testing</em>: Under expected usage.</p></li><li><p><em>Stress Testing</em>: Beyond normal limits.</p></li></ul></li><li><p><strong>Security Testing</strong>: Detects vulnerabilities and ensures system safety.</p></li></ul><p>&#187;<em> <a href="https://medium.com/gitconnected/20-ways-the-industry-tests-software-learn-these-if-you-want-to-call-yourself-a-senior-engineer-a5d2523138ad">Looking for a deep-dive? Checkout my blog on Medium!</a></em></p><div><hr></div><h3>&#128294; Tech Spotlight!</h3><p>If you're familiar with load balancers, you know they're designed to distribute traffic evenly across multiple servers. One common approach is the round-robin algorithm, which cycles through servers to allocate requests uniformly. But what happens when your servers don't have equal capacity? Not every machine can handle the same amount of load.</p><p>This was the exact challenge faced by engineers at DropBox, prompting them to create a custom load balancer called <em><strong>Robinhood</strong></em>. </p><p>&#10149; <strong><a href="https://dropbox.tech/infrastructure/robinhood-in-house-load-balancing-service">Robinhood - The in-house load balancing service</a></strong></p><p>The article talks about what challenges they faced before Robinhood and how they made sure that the new load-balancer is scalable and fault tolerant! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fZmL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 424w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 848w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fZmL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp" width="363" height="316.1125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1254,&quot;width&quot;:1440,&quot;resizeWidth&quot;:363,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 424w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 848w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!fZmL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba549cc-92d2-4884-b249-dbe74b38b99a_1440x1254.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://dropbox.tech/infrastructure/robinhood-in-house-load-balancing-service">Source</a></figcaption></figure></div><p>Certainly an interesting read for System Design enthusiasts! </p><div><hr></div><p><em>And that is it for this edition! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[Episode 4 - Two-Phase Commit (aka 2PC)]]></title><description><![CDATA[Backbone for the Modern Distributed Systems!]]></description><link>https://designsystemsweekly.substack.com/p/episode-4-two-phase-commit-aka-2pc</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/episode-4-two-phase-commit-aka-2pc</guid><pubDate>Mon, 12 May 2025 09:51:51 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/163380850/b02d227bcb266ecffbc7f11c8b8ec757.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>In the fourth episode of the System Design Weekly Podcast, we explore one of the foundational algorithms in distributed systems: the Two-Phase Commit (2PC)!</strong></p><p>Designed to ensure consistency across distributed databases, 2PC is a coordination protocol that helps multiple systems agree on a transaction's outcome&#8212;even in the face of network failures or crashes.</p><p>In this episode, we break down <em>why</em> 2PC is necessary, <em>how</em> it works step by step, and the trade-offs that come with using it. We also take a look at how technologies like ZooKeeper are commonly used to implement 2PC in real-world systems.</p><p>As one of the more approachable distributed algorithms, Two-Phase Commit is a great entry point for engineers beginning their journey into the world of distributed systems.</p><p><strong>Tune in and get a clearer understanding of consistency, coordination, and the challenges of building reliable distributed software.</strong></p><blockquote><p><em><strong>P.S. AI was used to record this podcast.</strong></em></p></blockquote>]]></content:encoded></item><item><title><![CDATA[EP8: Regular Expression Cheat Sheet]]></title><description><![CDATA[Welcome to this week&#8217;s edition of System Design Weekly! This time, it&#8217;s a concise but valuable read &#8212; featuring a cheat sheet to help you master regular expressions. 11 essential concepts are covered to help write regular expressions like a pro in no time.]]></description><link>https://designsystemsweekly.substack.com/p/ep8-regular-expression-cheat-sheet</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep8-regular-expression-cheat-sheet</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sat, 29 Mar 2025 07:29:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ptFP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to this week&#8217;s edition of <em><strong>System Design Weekly</strong></em>! This time, it&#8217;s a concise but valuable read &#8212; featuring a cheat sheet to help you master regular expressions. 11 essential concepts are covered to help write regular expressions like a pro in no time.</p><p>In this week&#8217;s <em><strong>Tech Spotlight</strong></em>, a fascinating article from <em><strong>Dropbox&#8217;s Engineering</strong></em> team dives into the challenges faced due to clock skews!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h3>*&#65039;&#8419; 11 Rules for Regular Expressions</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ptFP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 424w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 848w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ptFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 424w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 848w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ptFP!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb690ad48-3734-4ab9-b576-275a4ef1ada9_2000x799.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Basic Literal Matching</strong></p><ul><li><p>Match exact sequences of characters.</p></li><li><p>Example: <code>/helloWorld/</code> matches "helloWorld".</p></li><li><p>Special characters may need to be escaped with a backslash.</p></li></ul></li><li><p><strong>Dot Wildcard</strong></p><ul><li><p>The dot (.) matches any single character, except for newline characters.</p></li><li><p>Example: <code>/ca./</code> matches "car", "cap", "can", "cat".</p></li></ul></li><li><p><strong>Anchors</strong></p><ul><li><p>Use anchors to match the start (^) or end ($) of a line.</p></li><li><p>Example: <code>/^success$/</code> matches "success".</p></li></ul></li><li><p><strong>Alternation</strong></p><ul><li><p>Use the pipe (|) to represent OR logic within a pattern.</p></li><li><p>Example: <code>/coffee|tea|milk/</code> matches "coffee", "tea", or "milk".</p></li></ul></li><li><p><strong>Groups &amp; Parentheses</strong></p><ul><li><p>Group parts of the pattern using parentheses to capture or refer to them later.</p></li><li><p>Example: <code>/(hello|hi)world/</code> matches "hello world" or "hi world".</p></li></ul></li><li><p><strong>Character Classes</strong></p><ul><li><p>Match any one character from a defined set using square brackets [].</p></li><li><p>Example: <code>/gr[ae]y/</code> matches "gray" or "grey".</p></li><li><p>Ranges like <code>[0-9]</code> match any digit, and <code>[a-f]</code> matches hexadecimal digits.</p></li></ul></li><li><p><strong>Negated Character Classes</strong></p><ul><li><p>A caret (^) at the beginning of a character class negates it, matching any character not in the set.</p></li><li><p>Example: <code>/[^a-z]../</code> matches "Cat", "Dog", or "Car".</p></li></ul></li><li><p><strong>Quantifiers</strong></p><ul><li><p>Define the number of occurrences of a character or group.</p></li><li><p>Example: <code>/^\+[0-9]?[0-9]{11}$/</code> matches valid phone numbers.</p></li></ul></li><li><p><strong>Non-Capturing Groups</strong></p><ul><li><p>Use <code>(?:...)</code> to define a group without capturing it, improving performance.</p></li><li><p>Example: <code>/^(?:hello) world$/</code> matches "hello world".</p></li></ul></li><li><p><strong>Back References</strong></p><ul><li><p>Match the same text as a previously captured group using <code>\1</code>, <code>\2</code>, etc.</p></li><li><p>Example: <code>/^([a-zA-Z]*)-\1$/</code> matches "boom-boom" or "Boom-Boom".</p></li></ul></li><li><p><strong>Assertions</strong></p><ul><li><p>Assertions verify conditions before or after a match, without including them in the final match.</p></li><li><p>Example: <code>/Alley(?=is cute)/</code> matches "Alley" but only if "is cute" follows.</p></li></ul></li></ul><p>&#187;<em> <a href="https://medium.com/p/7385e95886b7">Checkout our Medium Blog for a deep-dive</a></em></p><div><hr></div><h3>&#128294; Tech Spotlight!</h3><p>At <strong>System Design Weekly</strong>, we&#8217;ve previously explored the challenges of clock skews, especially when it comes to getting them right in distributed systems. This week&#8217;s <strong>Tech Spotlight</strong> features a fascinating real-world case study from Dropbox, where clock skews led to unexpected bugs in their password manager.</p><p>&#10149; <strong><a href="https://dropbox.tech/application/dropbox-passwords-clock-skew-payload-sync-merge">Fighting the forces of clock skew when syncing password payloads</a></strong></p><p>Dropbox&#8217;s password management system stores passwords on client devices. Since users often have multiple devices (phone, tablet, laptop, etc.) connected to the same account, even a small clock skew can sometimes lead to lost updates. In this article, Dropbox&#8217;s engineers explain how they implemented a three-way merge strategy, similar to Git, to address this issue.</p><div><hr></div><p><em>And that is it for this edition! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[Episode 3 - Back-of-Envelope Calculations]]></title><description><![CDATA[An Essential Skill to Master!]]></description><link>https://designsystemsweekly.substack.com/p/back-of-envelope-calculations</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/back-of-envelope-calculations</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sun, 16 Mar 2025 13:35:41 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/159177953/b35fdfb0bf262c9f163e1af751cee8e6.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In the third episode of the <em><strong>System Design Weekly Podcast</strong></em>, we dive into a crucial skill for system designers: Back-of-Envelope calculations! These quick estimations are key to understanding the load your service is expected to handle. Performing these calculations during the early design phase can help narrow down technology choices and guide the creation of more efficient, optimized system architectures.</p><p>Back-of-Envelope calculations aren&#8217;t about pinpoint accuracy; rather, they allow you to estimate key factors like latency, storage requirements, and network bandwidth&#8212;often within the right order of magnitude.</p><p>Tune in to discover how these simple yet powerful calculations can help developers build better, more scalable software. Don't miss out&#8212;<strong>listen now</strong>!</p><blockquote><p><em><strong>P.S. AI was used to record this podcast.</strong></em></p></blockquote>]]></content:encoded></item><item><title><![CDATA[EP7: The Secret Behind High Availability of Cassandra]]></title><description><![CDATA[In this week's edition of System Design Weekly, we dive into the intriguing concept of Hinted Handoffs. It is a technique that is heavily used in distributed database systems like DynamoDB and Cassandra. Used to ensure high availability, Hinted Handoffs guarantee successful writes even during node failures and outages.]]></description><link>https://designsystemsweekly.substack.com/p/ep7-the-secret-behind-high-availability</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep7-the-secret-behind-high-availability</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Mon, 03 Mar 2025 15:52:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7V08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this week's edition of <em><strong>System Design Weekly</strong></em>, we dive into the intriguing concept of <em><strong>Hinted Handoffs</strong></em>. It is a technique that is heavily used in distributed database systems like <em><strong>DynamoDB</strong></em> and <em><strong>Cassandra</strong></em>. Used to ensure high availability, Hinted Handoffs guarantee successful writes even during node failures and outages.</p><p>As you read on, you will find a brief overview of various types of <em><strong>coding design patterns</strong></em>. Design patterns are often grouped based on their intent to enhance recognition and usability.</p><p>Towards the end, in this week's <em><strong>Tech Spotlight</strong></em>, we feature an article from <strong>Canva&#8217;s Engineering</strong> team on building a service designed to <em><strong>Count to a Billion</strong></em>!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em>Not Subscribed to System Design Weekly Yet? Join it for Free Today!! &#128071;</em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>&#9993;&#65039; Hinted Handoffs</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7V08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 424w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 848w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7V08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png" width="1456" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 424w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 848w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7V08!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80704e88-1824-4bd9-b481-e50a6f86f4ba_1600x946.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Hinted Handoffs</strong> is a distributed database technique that enables database writes to be processed even when some nodes in the database cluster are unavailable.</p><blockquote><p><em><strong>Example~</strong></em> In a three-node distributed database, the coordinator performs writes across all nodes and confirms success. If a node (e.g., Node A) goes down, the coordinator stores hints and delivers them once the node is back online.</p></blockquote><p>Here are some interesting things about Hinted Handoffs ~</p><ul><li><p>Each node maintains a local hint storage.</p></li><li><p>Logical clocks are used for event ordering with timestamps.</p></li><li><p>Nodes gossip to share information and maintain a local view of other nodes' statuses.</p></li><li><p>Hints usually don't count toward quorum in most systems.</p></li><li><p>Databases with hint-replay manage replay rates to avoid overwhelming nodes.</p></li></ul><p><strong>Cassandra</strong> and <strong>DynamoDB</strong> are the two most popular examples of databases using Hinted Handoffs!</p><p><em>&#8811; <a href="https://levelup.gitconnected.com/hinted-handoffs-the-secret-behind-successful-databases-like-dynamo-cassandra-4c8983b70476">Checkout our Medium Blog for a deep-dive into Hinted Handoffs</a></em></p><div><hr></div><h3>&#127991;&#65039; Classification of Coding Design Patterns</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!lXey!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!lXey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png" width="1456" height="715" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:715,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:957423,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://designsystemsweekly.substack.com/i/158289454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 424w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 848w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lXey!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0a7ad32-2910-4a49-91c6-ce5bd0a25f65_2216x1088.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Design patterns</strong> are proven solutions to common software development challenges that developers have encountered over time. These patterns provide best practices and guidance on how to structure and write code effectively, ensuring scalability, maintainability, and efficiency.</p><p>To simplify the study and application of design patterns, they are typically categorized into groups based on shared characteristics. Below, we explore the most common classification of design patterns into three main groups ~</p><h4>Creational Design Patterns</h4><p>Creational Design Patterns address the challenges of object creation, which may initially seem like a straightforward task. However, in large codebases with thousands of classes, complex relationships, and numerous parameters, the process of object creation becomes far more intricate. In such cases, carefully structuring and planning how objects are instantiated is crucial to maintaining scalability, flexibility, and ease of maintenance.</p><p>Some popular creational design patterns are <strong>Factory</strong>, <strong>Singleton</strong>, and <strong>Builder</strong>.</p><h4>Structural Design Patterns</h4><p>Structural Design Patterns address the challenges involved in composing large structures out of classes and objects. Using these patterns, it is possible to manage complex class hierarchies, reuse existing code, and create scalable architecture. </p><p>Some popular structural design patterns are <strong>Adapter</strong>, <strong>Proxy</strong>, and <strong>Facade</strong>.</p><h4>Behavioural Design Patterns</h4><p>Behavioural design patterns focus on defining algorithms and determining how responsibilities are distributed among objects.</p><p>Some popular behavioural design patterns are <strong>Chain of Responsibility</strong>, <strong>Strategy</strong>, and <strong>Visitor</strong>.</p><div><hr></div><h3>&#128294; Tech Spotlight!</h3><p>In this week&#8217;s Tech Spotlight, we feature an article from Canva&#8217;s Engineering team, where they dive into the design of their content usage counting service. The service must maintain exceptional accuracy at scale, as the content usage data directly impacts payouts to creators.</p><p>&#10149; <strong><a href="https://www.canva.dev/blog/engineering/scaling-to-count-billions/">Scaling to Count Billions</a></strong></p><p>They&#8217;ve crafted their latest architecture by combining DynamoDB with an OLAP database to handle end-to-end usage data calculations. However, what I found most fascinating is not just the current design, but the evolution that led to it. It&#8217;s a must-read for anyone passionate about system design!</p><div><hr></div><p><em>And that is it for this week! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[EP6: Clocks in Distributed System]]></title><description><![CDATA[Welcome to the 6th episode of the System Design Weekly!]]></description><link>https://designsystemsweekly.substack.com/p/ep6-clocks-in-distributed-system</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep6-clocks-in-distributed-system</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Sat, 22 Feb 2025 09:59:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QUnb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the 6th episode of the <em><strong>System Design Weekly</strong></em>! </p><p>In this week&#8217;s edition, we talk about an interesting topic called <em><strong>Logical Clocks</strong></em>. Clocks and timestamps are one of those things that are just so easy to reason in a centralised system but quickly become complex in distributed systems&#8217; design. Specifically, we talk about <em><strong>Lamport Clocks</strong></em> and <em><strong>Vector Clocks</strong></em> here!</p><p>Next, we dive into one of the most essential topics in bash scripting&#8212;<em><strong>Exit Codes</strong></em>. These numerical indicators help us understand the result of executing a command, which can be used for debugging and building robust scripts. Whether you're a beginner or a seasoned scripter, understanding how exit codes work can elevate your workflow.</p><p>Finally, in this week's <em><strong>Tech Spotlight</strong></em>, we feature an insightful white paper from <em><strong>Amazon</strong></em>, diving into the design of its <em><strong>DynamoDB</strong></em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h3>&#9200; Logical Clocks</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QUnb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 424w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 848w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QUnb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png" width="1456" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 424w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 848w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QUnb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a616e9-a520-40d7-87b5-ec05e3528372_1600x775.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Lamport Clock</figcaption></figure></div><p>First introduced by <em><strong>Lamport</strong></em> in 1978, logical clocks provide a method for capturing the order of related events in a distributed system using counters. The numerical value of a logical clock is independent of real-time, focusing solely on event ordering.</p><p>In a distributed system, each process starts with its own logical clock set to 0, which increments by 1 with each event it processes. When one process sends a message, it first increments its clock and includes the updated value in the message. Upon receiving the message, the receiving process increments its own clock by 1, compares it with the value in the message, and updates its clock to the maximum of the two values, ensuring correct event ordering.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7zFN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 424w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 848w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7zFN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png" width="1456" height="805" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 424w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 848w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7zFN!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556a4562-88f8-4140-becf-653c3e24e8de_1600x885.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Logical Clock</figcaption></figure></div><p><em><strong>Vector clocks</strong></em> are an extension to the Lamport clocks. Instead of maintaining a single counter, each process maintains a vector of numbers. The length of the vector is equal to the number of nodes in the distributed system. Each event is now timestamped with the entire vector V.</p><p><em>&#8811; <a href="https://medium.com/@the_infinity">A deep-dive into logical clocks soon releasing on our Medium Blog</a></em></p><div><hr></div><h3>&#127939; Exit Codes in Bash</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Bj7K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 424w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 848w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Bj7K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png" width="1456" height="1079" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1079,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:250335,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 424w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 848w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Bj7K!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe36fd7e-48f1-4e88-b1a2-dd00fc6e6f7a_1946x1442.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The exit code is an integer value returned by a Bash command or script upon its termination. These codes indicate the outcome of the program&#8217;s execution.</p><p>Generally, a non-zero exit code indicates unsuccessful execution of a program while an exit code of 0 denotes a successfully executed program.</p><p>The value of exit codes can range from 0 to 255 and some of these values hold special meaning and are more prominent than others. The table above summarises some of the most popular exit codes!</p><p><em>&#8811; <a href="/__u/designsystemsweekly.substack.com/p/everything-you-need-to-know-about">Checkout the complete blog on System Design Weekly</a></em></p><div><hr></div><h3>&#128294; Tech Spotlight!</h3><p><em><strong>Amazon's DynamoDB</strong></em> is a highly available and high-performance distributed key-value store. Initially developed for Amazon's internal use, it rapidly gained popularity as a top database solution after being made available to a broader audience through AWS. </p><p>In this week&#8217;s tech spotlight, we feature the white paper discussing the design of this amazing technology.</p><p>&#10149; <strong><a href="https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf">Dynamo: Amazon&#8217;s Highly Available Key-value Store</a></strong></p><p>The paper explores how key distributed database concepts such as <em><strong>Consistent Hashing</strong></em>, <em><strong>Hinted Handoffs</strong></em>, <em><strong>Sloppy Quorums</strong></em>, and <em><strong>Replication</strong></em> are leveraged to create a highly available system. It&#8217;s a must-read for all System Design enthusiasts!</p><div><hr></div><p><em>And that is it for this week! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em><strong>Want to master System Design? Subscribe to my free newsletter and get weekly content on concepts, best practices, and real-world applications.</strong></em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p>]]></content:encoded></item><item><title><![CDATA[Episode 2 - Dynamo DB]]></title><description><![CDATA[A Deep-Dive into Amazon's Key-Value Store for High Reliability & Scalability]]></description><link>https://designsystemsweekly.substack.com/p/episode-2-dynamo-db</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/episode-2-dynamo-db</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Wed, 19 Feb 2025 06:30:54 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/157389074/e9c0b393469f6001cf1797fb9bebb1d0.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In the second episode of the <strong>System Design Weekly Podcast</strong>, we dive deep into Amazon's groundbreaking white paper on <strong><a href="https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf">Dynamo DB</a></strong>. A distributed NoSQL database that revolutionized how we think about scalable, highly available systems. We break down the core concepts and design principles that power Dynamo, from eventual consistency to hinted handoffs to sloppy quorums.</p><p>Whether you're a system designer, developer, or tech enthusiast, this episode provides valuable insights into the architecture behind one of the most influential databases in modern cloud computing.</p><p>Tune in to get a closer look at how Dynamo DB's design continues to influence the next generation of distributed systems. Don't miss out&#8212;<strong>listen now!</strong></p><p><em>AI was used for recording this Podcast.</em></p>]]></content:encoded></item><item><title><![CDATA[11 Data Structures Powering Database]]></title><description><![CDATA[And why they matter more than you think!]]></description><link>https://designsystemsweekly.substack.com/p/11-data-structures-powering-database</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/11-data-structures-powering-database</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Tue, 18 Feb 2025 06:43:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LyE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LyE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 424w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 848w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LyE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png" width="1456" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 424w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 848w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LyE6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea19bbd5-6811-42f1-974c-1d8353f5b240_2000x1319.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Databases often employ a number of specialised data structures to ensure high performance storage and retrieval of data. While there exists thousands of databases in the wild, there are only a handful of data structures powering them all!</p><p>In this blog post, we are going through 11 such data structures. We will talk about the features of that data structures, why &amp; how they are used in database engines, and which famous databases use them internally.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><p>Let us get started then!</p><h2><strong>Hash Indexes</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CrEE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 424w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 848w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CrEE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png" width="1109" height="671" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:671,&quot;width&quot;:1109,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 424w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 848w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CrEE!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dffe72f-a61d-4b20-b8d2-aa7baec420b8_1109x671.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hash indexing is a technique that uses an in-memory Hash Map to enable fast key lookups. Each key is hashed and mapped to a disk pointer, allowing the system to directly fetch the corresponding value with a single disk seek.</p><p>A big disadvantage of Hash indexing is the fact that the entire structure needs to be maintained in memory. If the number of keys is too large to fit in the memory, hash indexes won&#8217;t work!</p><p>Some of the famous databases that uses Hash Indexes includes ~</p><ul><li><p><em><a href="https://redis.io/">Redis</a></em></p></li><li><p><em><a href="https://www.postgresql.org/">Postgres</a> (Offers a persistent on-disk hash index)</em></p></li></ul><h2><strong>Skip Lists</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!obW8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 424w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 848w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 1272w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!obW8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png" width="1070" height="408" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:408,&quot;width&quot;:1070,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 424w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 848w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 1272w, /__u/substackcdn.com/image/fetch/$s_!obW8!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5817169a-51ab-4ed2-9b5a-c2850e619c47_1070x408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Skip list is a probabilistic data structure that provides efficient search, inserts, and delete in a sorted linked list. All the operations can be performed in O(log N) time compared to O(N) it takes in a simple linked list.</p><p>As shown in the illustration above, sparse levels of Linked List are created to assist in quick searches eliminating the need for a sequential search.</p><p>Because skip lists store data in sorted order, they are most commonly used in databases for managing <em>Memtables</em>, which we&#8217;ll discuss in the upcoming sections.</p><p><a href="https://rocksdb.org/">RocksDB</a> is a great example of a database where Skip Lists are used as <em>Memtables</em>!</p><h2><strong>Inverted Indexes</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JKgN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 424w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 848w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JKgN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png" width="688" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23a38bec-fa8c-403d-9282-3182da75427b_688x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:688,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 424w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 848w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JKgN!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a38bec-fa8c-403d-9282-3182da75427b_688x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Inverted indexes are a common tool for databases that support text based searches. It divides text into individual words and constructs a word to document ID index. This allow quick searches for document containing certain words or patterns.</p><p><a href="https://www.elastic.co/elasticsearch">Elastisearch</a> database is the most popular example that uses inverted indexes to power its full-text search capabilities.</p><h2><strong>B-Trees</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!raM0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 424w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 848w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 1272w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!raM0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png" width="1220" height="534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:534,&quot;width&quot;:1220,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 424w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 848w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 1272w, /__u/substackcdn.com/image/fetch/$s_!raM0!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f30f03-4a13-458c-8417-05b5c439810f_1220x534.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>B-Tree is un-arguably the most popular data-structure when it comes to databases. It is a self-balancing tree structure that maintains sorted data on disk and allows searches in logarithmic time complexity.</p><p>The key feature of B-Tree is its ability to store more than one key inside a single node that essentially reduces the number of disk seeks.</p><p>Almost all relational databases use B-Trees!</p><ul><li><p><em><a href="https://www.postgresql.org/">Postgres</a></em></p></li><li><p><em><a href="https://www.mysql.com/">MySQL</a></em></p></li></ul><h2><strong>Bloom Filters</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!phGL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 424w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 848w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 1272w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!phGL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png" width="509" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:509,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 424w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 848w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 1272w, /__u/substackcdn.com/image/fetch/$s_!phGL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5078c8f3-68be-4603-8e06-0088b4dd4f9e_509x507.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Bloom filter is yet another probabilistic data structure that is used to test whether a data entry exists in the database before we actually start looking for it. The way Bloom filters are designed, they can give false positive but they can never give false negatives.</p><p>Bloom filters are most commonly used in LSM-Tree based databases where a non-existent key could lead the database to search all segments! Instead, if a bloom filter is used before going through the segments, the time taken to search for non-existent keys is improved drastically.</p><p>A good example of this case is <em><a href="https://cassandra.apache.org/_/index.html">Cassandra</a></em> that uses bloom filters in read path to ensure non-existent keys can be responded to quickly!</p><h2><strong>MemTable</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eTF1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 424w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 848w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eTF1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png" width="828" height="478" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:478,&quot;width&quot;:828,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 424w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 848w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eTF1!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a21b0ad-63ed-409b-b9ad-8720f24a5132_828x478.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>MemTable is an in-memory data-structures that is used to hold reads and writes until they are flushed to disk based SSTables (<em>more on them in the coming section</em>).</p><p>MemTable handles both read and write operations: new writes are always inserted into the memtable, while reads must query the memtable first before checking the SSTable files, as the data in the memtable is newer. When a memtable becomes full, it is marked as immutable and replaced by a new one. A background process then flushes the contents of the memtable to an SST file, after which the old memtable can be safely discarded.</p><p>There are several ways in which a MemTable can be implemented!</p><p><a href="https://rocksdb.org/">RocksDB</a> and <a href="https://github.com/google/leveldb">LevelDB</a> are some examples of databases that uses a MemTable.</p><h2><strong>BitMap Indexes</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1W6F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 424w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 848w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1W6F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png" width="632" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:632,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 424w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 848w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1W6F!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe505b2b5-bdfd-48db-b051-84a8eb4a3bb2_632x562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>BitMap indexes uses bitmaps (or, simply put, array of 0s and 1s) to efficiently store and query data. It is particularly useful for columns with low cardinality of distinct value set.</p><p>Bitmap indexes use a series of bits to represent the presence or absence of a value in each row. Each bit corresponds to a row in the table, and its value (0 or 1) indicates whether the row contains a specific value for the indexed column.</p><p>Databases use these bitmaps to run efficient queries using bitwise operations. It is much quicker to combine bitmaps using ANDs and ORs!</p><p>Many modern databases like <a href="https://www.postgresql.org/">Postgres</a> provide support for BitMap indexes.</p><h2><strong>Sorted String Table or SSTable</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!AoJL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 424w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 848w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!AoJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png" width="873" height="453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:453,&quot;width&quot;:873,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 424w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 848w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AoJL!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2ea801-dad2-40fa-8a04-79634a25f213_873x453.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sorted String Table (SSTable) is a persistent file format that maintains sorted data. It is created using the data from in-memory MemTables and is then persisted on disk as immutable files.</p><p>Spare hash indexes are often used to ensure fast searches through SST Files.</p><p>SSTable and MemTable together forms the basis of LSM-Tree based databases that are commonly found in many NoSQL databases like <a href="https://cassandra.apache.org/_/index.html">Cassandra</a>, <a href="https://www.scylladb.com/">ScyllaDB</a>, and <a href="https://rocksdb.org/">RocksDB</a>.</p><h2><strong>Prefix Trees</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VDtk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 424w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 848w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VDtk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png" width="1400" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 424w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 848w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VDtk!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63ce70bd-859e-4e14-93d5-38f3baff94cb_1400x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Prefix Tree (or, as they popularly known as, Trie) is a data structure optimised to work with strings or text-based data. It creates a tree structure out of a text corpus and use it to perform efficient prefix searches.</p><p>Databases like <a href="https://www.elastic.co/elasticsearch">Elasticsearch</a> use Trie for building their inverted index structures.</p><h2><strong>Write Ahead Log (or WAL)</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!H3Y-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 424w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 848w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 1272w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!H3Y-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png" width="423" height="423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:423,&quot;width&quot;:423,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 424w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 848w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 1272w, /__u/substackcdn.com/image/fetch/$s_!H3Y-!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F430d1ce9-2b15-4b22-8a35-f0cf5376d815_423x423.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Write Ahead Log is one of those data structures that is equally popular between SQL and NoSQL databases. At its core, it is a simple append-only log of changes that are made to a database.</p><p>WAL ensures data durability and can be used to restore state during any catastrophic events. It is also used to buffer writes to database since actual writes to database are often performed in batches at some time later.</p><p>Databases like Postgres, RocksDB, and MySQL, all use a WAL under the hood.</p><h2><strong>Suffix Trees</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!xlhJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 424w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 848w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 1272w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!xlhJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png" width="1108" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:1108,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 424w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 848w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 1272w, /__u/substackcdn.com/image/fetch/$s_!xlhJ!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e97f453-1c66-42c1-9b16-1f6427a4dc75_1108x856.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Suffix tree is yet another advanced structure that is used for full-text search capabilities. It is used to search for the occurrence of a pattern in a large corpus of text efficiently.</p><p>Database engines like Elasticsearch and SQLite FTS that supports full-text searching capabilities makes heavy use of such trees.</p>]]></content:encoded></item><item><title><![CDATA[EP5: 10 Techniques For Database Replication]]></title><description><![CDATA[In episode 5 of System Design Weekly, we explore 10 essential techniques for database replication.]]></description><link>https://designsystemsweekly.substack.com/p/ep5-10-techniques-for-database-replication</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/ep5-10-techniques-for-database-replication</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Thu, 06 Feb 2025 17:03:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tJsR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In episode 5 of <em>System Design Weekly</em>, we explore 10 essential techniques for database replication. These foundational methods are crucial for every software developer to understand! Learn them today and take your system design skills to the next level. </p><p>In the next section, we explore different approaches to code organization. From <em><strong>monorepos</strong></em> to <em><strong>submodules</strong></em>, each method has its advantages and challenges. Choosing the right approach for a given use case isn&#8217;t always straightforward, and requires careful consideration.</p><p>Finally, in this week&#8217;s <em><strong>Tech Spotlight</strong></em>, we take a look at how <em><strong>Jira's</strong></em> engineering team leveraged <em><strong>Protobuf</strong></em> to achieve a 20% faster response time and reduce storage usage by 80%!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading System Design Weekly! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>&#128736;&#65039; 10 Techniques for Database Replication</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!tJsR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 424w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 848w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 1272w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!tJsR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic" width="1456" height="1127" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1127,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174521,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 424w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 848w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 1272w, /__u/substackcdn.com/image/fetch/$s_!tJsR!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ee36459-d794-4129-b3b6-71f34ebce9a3_2013x1558.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Replicated databases are the reality of modern softwares. Here are 10 techniques that will help you understand the design behind any replicated database ~</p><ul><li><p><em><strong>Single Leader Replication - </strong></em>One primary database (leader) handles all writes, and changes are replicated to follower databases.</p></li><li><p><em><strong>Multi Leader Replication - </strong></em>Multiple leader databases allow writes on any node, with changes synchronized across all leaders.</p></li><li><p><em><strong>Leaderless Replication - </strong></em>There is no central leader; all nodes are equal, and updates can happen on any node, with conflict resolution and quorum mechanisms in place.</p></li><li><p><em><strong>Database Snapshot - </strong></em>A point-in-time copy of a database that captures its exact state at the moment of the snapshot.</p></li><li><p><em><strong>Synchronous Replication - </strong></em>Data is written to both the primary and replica databases simultaneously, ensuring strong consistency at the time of the write.</p></li><li><p><em><strong>Asynchronous Replication - </strong></em>Data is written to the primary database first, and then replicated to secondary nodes later, which can result in temporary inconsistency.</p></li><li><p><em><strong>Semi-Synchronous Replication - </strong></em>A hybrid approach where the primary waits for acknowledgment from at least one replica before confirming a write, balancing speed and consistency.</p></li><li><p><em><strong>Chain Replication - </strong></em>Data is replicated in a chain of nodes, where each node forwards updates to the next node in the chain, ensuring consistency across replicas.</p></li><li><p><em><strong>Row-Based Replication - </strong></em>Changes are replicated at the individual row level, capturing only the specific data modified during transactions.</p></li><li><p><em><strong>Statement-Based Replication - </strong></em>Replication occurs by capturing and replaying the SQL statements that caused changes, rather than the actual data modifications.</p></li></ul><p>&#8811; <em><a href="https://medium.com/@the_infinity">Subscribe to my Medium blog for an upcoming deep dive</a></em></p><div><hr></div><h3>&#128450;&#65039; Techniques to Organize Codebases</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9HRb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 424w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 848w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9HRb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png" width="1456" height="1251" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1251,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267915,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 424w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 848w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9HRb!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd95a249-bdd7-42d5-8126-a95514daa3c5_1730x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are several ways in which a library can be shared across different projects.</p><ul><li><p><em><strong>Copy&#8217;n&#8217;Paste</strong></em>: A simple approach where code is duplicated across projects, offering flexibility at the cost of maintainability.</p></li><li><p><em><strong>Multirepo</strong></em>: Each library is kept in its own repository, allowing for clear boundaries but requiring more complex dependency management.</p></li><li><p><em><strong>Git Submodules</strong></em>: A method to include one repository inside another, enabling version control of dependencies but introducing extra complexity with updates and merges.</p></li><li><p><em><strong>Monorepo</strong></em>: All projects and libraries are housed in a single repository, simplifying dependency management and integration but potentially increasing build times and complexity at scale.</p></li></ul><div><hr></div><h3>&#128294; Tech Spotlight!</h3><p>This week in Tech Spotlight, we&#8217;re featuring an insightful blog from Jira's engineering team that explores the practical advantages of using Protobuf over JSON in Jira.</p><p>&#10149; <a href="https://www.atlassian.com/blog/atlassian-engineering/using-protobuf-to-make-jira-cloud-faster">Using Protobuf to make Jira cloud faster</a></p><p>Protobuf is a data serialization/deserialization protocol commonly used with gRPC, but due to technical challenges at Jira, they couldn&#8217;t implement gRPC and instead integrated Protobuf directly over REST.</p><p>The results were impressive, delivering significant benefits for Jira Cloud, including:</p><ul><li><p>75% less CPU usage on the database</p></li><li><p>80% smaller payloads compared to serialized JSON</p></li><li><p>33x faster deserialization and 4x faster serialization</p></li><li><p>20% faster server response times</p></li></ul><p>It&#8217;s a must-read for anyone interested in performance optimisation!</p><div><hr></div><p>And that is it for this week! If you enjoyed what you read, consider clicking the &#10084;&#65039; button below and leaving a comment.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em>Want to master System Design? Subscribe to our free newsletter and get weekly content on concepts, best practices, and real-world applications.</em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>See you next week in yet another release of System Design Weekly! Till then, happy learning!</em></p><p></p>]]></content:encoded></item><item><title><![CDATA[My Personal Methodology To Answering Any Time-Complexity Problem]]></title><description><![CDATA[You Will Never Struggle To Answer Any Asymptotic Complexity Question Again!]]></description><link>https://designsystemsweekly.substack.com/p/my-personal-methodology-to-answering</link><guid isPermaLink="false">https://designsystemsweekly.substack.com/p/my-personal-methodology-to-answering</guid><dc:creator><![CDATA[Rishabh Agarwal]]></dc:creator><pubDate>Fri, 31 Jan 2025 13:56:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A0W4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!A0W4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 424w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 848w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!A0W4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png" width="926" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e191414a-cb94-460d-88b1-bd7637d83b67_926x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:926,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 424w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 848w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A0W4!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe191414a-cb94-460d-88b1-bd7637d83b67_926x678.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>During the course of my corporate journey, I have interviewed many candidates for various software engineering roles. Among the many topics I cover, time complexity, asymptotic analysis, and worst-case analysis are the ones where candidates often struggle the most.</p><p>The real kicker is that most of these candidates are often highly proficient in advances topics like <em><strong>Algorithm &amp; Data Structure Design</strong></em>, <em><strong>Database Systems</strong></em>, and <em><strong>Computer Network Algorithm</strong></em>. But it is often the strong basics of a candidate that make or break the case for them.</p><p>But why so many candidates struggle to analyse the complexity of a piece of code? In my opinion, it is because they over-complicate the process.</p><p>Candidates usually tries to perform pattern matching rather than an actual complexity analysis. They tend to evaluate the code based on familiar algorithms and their complexities. However, these candidates struggle significantly when the code doesn&#8217;t fit into a known pattern and requires a fresh analysis.</p><p>In this blog, I will talk about the methodology I would follow when answering such questions in an interview. As an added bonus, we will specifically talk about answering complexity questions around recursive algorithms.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/designsystemsweekly.substack.com/subscribe"><span>Subscribe now</span></a></p><h2><strong>Breaking Down The Complex Code Into Independent Pieces</strong></h2><p>A large piece of code may look daunting at first, so I start by breaking the code into smaller independent pieces.</p><p>Every statement, expression, and block of code is an independent component that can be analyzed separately. Therefore, the first step is to examine the method or the script or the code block and identify these distinct components.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7j_c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 424w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 848w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7j_c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png" width="1400" height="1462" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45cceda6-2642-4359-93e1-201209da124f_1400x1462.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1462,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 424w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 848w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7j_c!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cceda6-2642-4359-93e1-201209da124f_1400x1462.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Identify Independent Parts of The Code</figcaption></figure></div><p>Each independent part identified becomes a subtask. These subtasks should then be <strong>&#8220;recursively&#8221;</strong> solved for time complexity.</p><p>When solution to all these sub-parts have been identified, they can be combined together to form the answer for the larger code.</p><p>Specifically, if we are computing the Big-O complexity, the Big-O complexity of the entire code is the largest Big-O complexity of all the sub-parts.</p><h2><strong>Solving For Loops and Dependent Nested Loops</strong></h2><p>Breaking the code into independent pieces and solving them individually works well until we hit loops and nested loops. This is where things start becoming interesting.</p><p>If the number of times the outermost loop runs, in worst case, is fixed and is not influenced by the code contained in loop&#8217;s body then the calculation is simple. I recursively find out the time complexity of the loop&#8217;s body and multiply it with the number of times the loop execute!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!dnrG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 424w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 848w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!dnrG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png" width="1456" height="329" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:329,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 424w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 848w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dnrG!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6608a0f-3084-4bba-8e43-db8e8c2db8dd_3262x738.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Kfz6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Kfz6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png" width="1456" height="301" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df5c511f-439b-470c-a339-621f5e568f63_2960x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:301,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Kfz6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5c511f-439b-470c-a339-621f5e568f63_2960x612.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Time Complexity calculation for independent loops</figcaption></figure></div><p>But life is not always this simple. Consider the following sample code and try to compute its time complexity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!orSC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 424w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 848w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 1272w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!orSC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png" width="964" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:964,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 424w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 848w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 1272w, /__u/substackcdn.com/image/fetch/$s_!orSC!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ffabff-9063-4273-a4d0-e2b893ae0aa2_964x866.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Can you guess the time complexity for the code above?</figcaption></figure></div><blockquote><p><em><strong>I recommend you to analyse the code and come up with an answer before moving on.</strong></em></p></blockquote><p>The correct answer is <code>O(N)</code>. Well done if you calculated that correctly!</p><p>The key is to analyse the code and not jump to a quick &amp; incorrect conclusion that &#8216;<em><strong>the outer loop will run for N iterations</strong></em>&#8217;. In fact, the outer loop will only have two iterations.</p><p>A wide range of possibilities can arise when loop variables are updated inside nested loops. While there is no general formula for solutions to such problems, I generally start by following outer loop for 2&#8211;3 iterations specifically focusing on nested loops that update the outer loop&#8217;s variable. In this way, I grasp how many iterations of outer loop will take place.</p><p>Let us take another example.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_x-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 424w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 848w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_x-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png" width="826" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba510101-f666-417e-a649-7864ad812763_826x752.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&quot;width&quot;:826,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 424w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 848w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_x-L!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba510101-f666-417e-a649-7864ad812763_826x752.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example for Nested Loops</figcaption></figure></div><p>Let us try to run a few iterations for the outer-loop. We begin with <code>i=n</code>. During the first iteration, the inner loop will run for <code>n</code> iterations until <code>i</code>becomes <code>2n</code>. Since the condition for the outer loop is <code>i &lt; n*n</code>, we will continue with the second iteration. In the second iteration, the inner loop will again run <code>n</code> times until <code>i</code> becomes <code>3n</code>.</p><p>Did you start seeing the pattern?</p><p>The outer loop is run only when <code>i</code> is <code>n</code>, <code>2n</code>, <code>3n</code>, &#8230;, <code>(n-1)*n</code>. Thus the outer loop will run only <code>n</code> times.</p><p>It is also clear that the inner loop will run <code>n</code> times in each iteration of the outer loop. Thus, assuming the complexity of code contained inside the inner loop to be <code>O(1)</code>, the overall complexity can be stated as <code>O(n)*O(n) = O(n^2)</code>.</p><h2><strong>Solving for the Time Complexity of Expressions and Statements</strong></h2><p>If an expression or statement is composed only up of atomic operations, it is a constant time operation.</p><pre><code>// Some constant time operations
int p = q + r;
double c_square = a * a + b * b;
cin &gt;&gt; x;
res |= (1&lt;&lt;j);
p--;</code></pre><p>When an expression or statement contains method calls, it is important to analyse those methods before concluding the complexity of the complete expression/statement.</p><p>Consider the following example.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ZwDM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ZwDM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png" width="1400" height="1678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1678,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZwDM!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a71d860-aea5-4a94-bdd8-f393d48ec9e8_1400x1678.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Time Complexity Analysis for Statements &amp; Expressions Containing Function Calls</figcaption></figure></div><blockquote><p><em><strong>Pause for a moment and try to find the time complexity for the expression above!</strong></em></p></blockquote><p>Since the expression contains function calls, I will begin by first finding out the complexity of the function <code>f1</code>. This function consists of three independent parts of which the first and the third one are constant time operations. For the second part, I observe that the body of the loop is of constant time complexity and the loop runs for <code>x</code> iterations. Thus the overall complexity of the function turns out to be <code>O(x)</code>.</p><blockquote><p>When performing an asymptotic analysis of a function call, the complexities of computing the outermost function and its arguments add up.</p></blockquote><p>Based on the observation above, let us first calculate the complexity of the inner most function call i.e., <code>f1(n)</code>. As noted earlier, the Big-O complexity for this method call will be <code>O(n)</code> and its return value will be of the order of <code>O(n*n)</code>.</p><p>Next we will calculate the time complexity for the outermost function call. Since the input to the outermost function is of the order of <code>O(n*n)</code> and the function has the complexity of <code>O(x)</code> where x is the size of input, it is clear that the overall complexity of the outermost function call is <code>O(n*n)</code>.</p><p>And since for our given statement there are no other operations that takes more than constant time, the overall complexity of the statement is <code>O(n^2)</code>.</p><p>&#128161; <em>Most often an expression contains calls to library defined methods that are not directly available for complexity analysis. While it is not possible to memorise the complexity of each and every available method, we should be aware of the data structures and algorithm behind popular interfaces. This will help us estimate the complexity of those methods during interviews.</em></p><h2><strong>Complexity Analysis When Dealing With Conditionals</strong></h2><p>The idea of analysing conditionals is same as that of any other piece of code. You analyse different branches of the conditionals independently and later on combine the results together.</p><p>So if I am calculating for the worst time complexity, I would focus on the slowest branch. On the other hand, if I am calculating for the best time complexity, I would consider the fastest of all the branches.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://designsystemsweekly.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em>Subscribe to our free newsletter and get high quality content on software engineering delivered right into your inbox!</em></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>BONUS: Analysing Recursive Code for Complexity</strong></h2><p>One of the most difficult programs to analyse for time complexities are the recursive programs. This is because many a time the actual complexity of a recursive function is wildly different from a single iteration for that function.</p><p>The formal way of calculating the complexities for recursive functions is to use the <strong>Master Theorem</strong> which is stated as follows.</p><pre><code>T(n) = aT(n/b) + f(n),
where,
  n = size of input
  a = number of subproblems in the recursion
  n/b = size of each subproblem. All subproblems are assumed to have the
        same size.
  f(n) = cost of the work done outside the recursive call, which includes
         the cost of dividing the problem and cost of merging the solutions

T(n) has the following asymptotic bounds:

    1. If f(n) = O(nlogb a-&#1013;), then T(n) = &#920;(nlogb a).

    2. If f(n) = &#920;(nlogb a), then T(n) = &#920;(nlogb a * log n).

    3. If f(n) = &#937;(nlogb a+&#1013;), then T(n) = &#920;(f(n)).

&#1013; &gt; 0 is a constant.</code></pre><p>While the Master Theorem is the most recommended method of calculating the complexities of recursive methods, it is often difficult to remember and use specially in an interview setting where you might not have access to the internet to verify the theorem.</p><p>When solving for such problem, I generally opt for <em><strong>the tree-diagram method</strong></em>.</p><p>In the tree-diagram method, each call to the recursive function is denoted by a tree node. The value on the node denotes the size of the input. Parent-child relationship between the nodes is used to denote the recursive calls made. Here is an example of the tree-diagram for fibonacci recursive code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bIvg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 424w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 848w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bIvg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png" width="1456" height="599" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:599,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 424w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 848w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bIvg!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1efd0b23-a385-4cf6-b862-523ce9b3a834_1936x796.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Nkp6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 424w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 848w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_webp, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Nkp6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png" width="1456" height="933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:933,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_424, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 424w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_848, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 848w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_1272, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Nkp6!, /__u/designsystemsweekly.substack.com/w_1456, /__u/designsystemsweekly.substack.com/c_limit, /__u/designsystemsweekly.substack.com/f_auto, /__u/designsystemsweekly.substack.com/q_auto:good, /__u/designsystemsweekly.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee210dc-e9f7-4a90-82ef-ccc9521e0328_2346x1504.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tree Diagram for recursive Fibonacci method</figcaption></figure></div><p>Once I have created the tree diagram, I ask myself these three questions ~</p><ul><li><p>What is the height of the tree when the root has the label of n?</p></li><li><p>What is the relation between number of nodes and the tree level?</p></li><li><p>What is the largest label of a node at any level?</p></li></ul><p>Once I find the answer to these questions, the problem of finding the worst case time complexity reduces to a simple arithmetic problem.</p><pre><code>f(n) = cost of the work done outside the recursive call, which includes
         the cost of dividing the problem and cost of merging the solutions

complexity = O(1)

for tree_level in 0 to max_height(n):
  count = nodes_at_level(tree_level)
  size = largest_node_value_at_level(tree_level)
  complexity += count * f(size)</code></pre><p>I have denoted the calculation in pseudo-code but trust me, the calculation on paper is really straightforward.</p><div><hr></div><p>A solid understanding of computer science fundamentals is a hallmark of a strong candidate. Great developers not only have this knowledge but also possess the ability to analyze their code effectively. Without thorough analysis, even the best code cannot reach its full potential for improvement.</p><p>If you reached this far, Congratulations! If you enjoyed reading this article consider liking and leaving a comment. This would greatly help me as a creator!</p>]]></content:encoded></item></channel></rss>