<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Graph-Processing on Ryan Orban</title><link>https://ryanorban.com/categories/graph-processing/</link><description>Recent content in Graph-Processing 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>Sun, 31 Mar 2013 00:00:00 +0000</lastBuildDate><atom:link href="https://ryanorban.com/categories/graph-processing/index.xml" rel="self" type="application/rss+xml"/><item><title>Apache Incubator Giraph — Distributed Graph Processing on Hadoop</title><link>https://ryanorban.com/notes/apache-giraph-graph-processing/</link><pubDate>Sun, 31 Mar 2013 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/apache-giraph-graph-processing/</guid><description>&lt;p&gt;&lt;img
 src="https://ryanorban.com/images/notes/apache-giraph-graph-processing.png"
 alt="Apache Incubator Giraph — Distributed Graph Processing on Hadoop" 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;Apache Giraph was an open-source implementation of Google Pregel — Google&amp;rsquo;s internal bulk synchronous parallel (BSP) graph processing system described in a 2010 paper. Pregel solved the problem of running iterative graph algorithms (like PageRank, shortest paths, or community detection) on graphs with billions of nodes and edges, where the data doesn&amp;rsquo;t fit in memory on a single machine and the iterative nature of graph algorithms makes MapReduce extremely inefficient (each iteration requires a new MapReduce job with full disk I/O).&lt;/p&gt;</description></item><item><title>Apache Incubator Giraph</title><link>https://ryanorban.com/notes/apache-giraph-incubator/</link><pubDate>Sat, 07 Jul 2012 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/apache-giraph-incubator/</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;Apache Giraph entered the Apache Incubator as the open-source community&amp;rsquo;s answer to Google Pregel — Google&amp;rsquo;s internal system for running iterative graph algorithms at massive scale. The basic problem: MapReduce handles batch processing well but is a poor fit for graph computation, where algorithms like PageRank and shortest paths require many iterations, each needing to pass state between neighboring vertices. Running each iteration as a separate MapReduce job means repeated disk I/O between every step — prohibitively slow for large graphs.&lt;/p&gt;</description></item><item><title>Large-Scale Graph Computing at Google (Pregel)</title><link>https://ryanorban.com/notes/google-pregel-large-scale-graph/</link><pubDate>Sat, 07 Jul 2012 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/google-pregel-large-scale-graph/</guid><description>&lt;p&gt;&lt;img
 src="https://ryanorban.com/images/notes/google-pregel-large-scale-graph.png"
 alt="Large-Scale Graph Computing at Google (Pregel)" 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 2009 Google Research blog post introduced Google Pregel to the public — a system Google built internally for large-scale graph computation that established the vertex-centric programming model now used throughout distributed graph processing. MapReduce was Google&amp;rsquo;s workhorse for batch data processing, but graph algorithms like PageRank, shortest paths, and community detection are inherently iterative: each round of computation depends on the results of the previous round. Forcing this into MapReduce meant a full job per iteration — expensive disk I/O and job startup costs that made it impractical for serious graph workloads.&lt;/p&gt;</description></item></channel></rss>