<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Probabilistic-Data-Structures on Ryan Orban</title><link>https://ryanorban.com/categories/probabilistic-data-structures/</link><description>Recent content in Probabilistic-Data-Structures on Ryan Orban</description><generator>Hugo</generator><language>en-us</language><managingEditor>me@ryanorban.com (Ryan Orban)</managingEditor><webMaster>me@ryanorban.com (Ryan Orban)</webMaster><copyright>Ryan Orban</copyright><lastBuildDate>Sat, 31 May 2014 00:00:00 +0000</lastBuildDate><atom:link href="https://ryanorban.com/categories/probabilistic-data-structures/index.xml" rel="self" type="application/rss+xml"/><item><title>HyperLogLog in Pure SQL</title><link>https://ryanorban.com/notes/hyperloglog-in-pure-sql/</link><pubDate>Sat, 31 May 2014 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/hyperloglog-in-pure-sql/</guid><description>&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;HyperLogLog is a probabilistic data structure for cardinality estimation: it approximates COUNT(DISTINCT &amp;hellip;) over arbitrarily large datasets using a small, fixed amount of memory. The algorithm was introduced by Philippe Flajolet et al. in 2007 and achieves typical error rates under 2% using only a few kilobytes of state — regardless of whether you&amp;rsquo;re counting thousands or billions of distinct values.&lt;/p&gt;</description></item><item><title>Probabilistic Data Structures for Web Analytics and Data Mining</title><link>https://ryanorban.com/notes/probabilistic-data-structures-web-analytics/</link><pubDate>Sun, 17 Mar 2013 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/probabilistic-data-structures-web-analytics/</guid><description>&lt;p&gt;&lt;img
 src="https://ryanorban.com/images/notes/probabilistic-data-structures-web-analytics.png"
 alt="Probabilistic Data Structures for Web Analytics and Data Mining" class="note-hero-img"
 loading="lazy"
/&gt;
&lt;/p&gt;
&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;This Highly Scalable Blog post is the canonical reference for understanding which probabilistic data structure to reach for when you&amp;rsquo;re building web analytics pipelines. The central insight is that most analytics use cases don&amp;rsquo;t need exact answers — they need fast answers at scale. Trading a small, bounded error rate for dramatic reductions in memory and computation is almost always the right engineering call when you&amp;rsquo;re processing billions of events.&lt;/p&gt;</description></item></channel></rss>