<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pranav Aurora on Mooncake</title>
    <link>https://mooncake.pgsty.com/authors/pranav-aurora/</link>
    <description>Recent content in Pranav Aurora on Mooncake</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Thu, 05 Nov 2026 19:17:16 +0800</lastBuildDate>
    
    
      <atom:link href="https://mooncake.pgsty.com/authors/pranav-aurora/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Mooncake is joining Databricks!</title>
        <link>https://mooncake.pgsty.com/blog/post/mooncake-and-databricks/</link>
        <pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/mooncake-and-databricks/</guid>
        <description>&lt;p&gt;Thirteen months ago, we started Mooncake to bring the data intelligence stack that powers giants like OpenAI to every vibe-coded app and developer. From first prompt to IPO.&lt;/p&gt;&#xA;&lt;p&gt;Today, we&amp;rsquo;re joining forces with Databricks.&#xA;The mission continues: make &lt;a href=&#34;https://www.databricks.com/product/lakebase&#34;&gt;Lakebase&lt;/a&gt; and the Lakehouse feel like one.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;For a decade, we thought the final form of a database was one that could do it all. Fast updates, transactions, analytics. For database people, this was HTAP. It never quite landed. Zhou and Cheng built it. Pranav tried to sell it. It was hard.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Mooncake: a real-time storage engine for Apache Iceberg</title>
        <link>https://mooncake.pgsty.com/blog/post/white-paper/</link>
        <pubDate>Mon, 11 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/white-paper/</guid>
        <description>&lt;p&gt;This technical overview assumes familiarity with &lt;a href=&#34;https://iceberg.apache.org/&#34;&gt;Apache Iceberg&lt;/a&gt;, an open table format for analytical datasets. Iceberg is part of the general &amp;ldquo;Lakehouse&amp;rdquo; movement, where users:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Store large datasets using open file formats (Parquet + Metadata) in Object Storage&lt;/li&gt;&#xA;&lt;li&gt;Query them directly by engines like Spark, Trino, Flink, and DuckDB using SQL&lt;/li&gt;&#xA;&lt;li&gt;Get the benefits of &amp;lsquo;database features&amp;rsquo; like schema evolution &amp;amp; time-travel&lt;/li&gt;&#xA;&lt;li&gt;Scale practically infinitely, and aren&amp;rsquo;t locked into a vendor&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Iceberg was built for slow-changing data + batch analytics &amp;amp; processing. That world is pretty clear and only improving with engines getting better at reading open formats.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pg_mooncake v0.2: what we&#39;re cooking</title>
        <link>https://mooncake.pgsty.com/blog/release/pgmooncake-v02discussion/</link>
        <pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/release/pgmooncake-v02discussion/</guid>
        <description>&lt;p&gt;With v0.1, we proved that Postgres can deliver great analytics performance. Our approach combined two key pieces—DuckDB vectorized engine and a columnstore table—making &lt;a href=&#34;https://mooncake.pgsty.com/docs/intro/&#34;&gt;&lt;code&gt;pg_mooncake&lt;/code&gt;&lt;/a&gt; the only extension in Postgres that integrates both.&lt;/p&gt;&#xA;&lt;p&gt;The results speak for themselves: &lt;code&gt;pg_mooncake&lt;/code&gt; ranks in &lt;a href=&#34;https://mooncake.pgsty.com/blog/post/clickbench-v0.1/&#34;&gt;ClickBench&amp;rsquo;s top 10&lt;/a&gt;, and we built the fastest Parquet-based engine along the way.&lt;/p&gt;&#xA;&lt;p&gt;Now, with v0.2, we&amp;rsquo;re tackling the next big challenge; we call it &lt;strong&gt;out-of-the-box analytics&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;first-why-in-postgres-analytics&#34;&gt;First, why in-Postgres analytics?&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Applications often have their first analytics needs far before they have their first data warehouse or analytics system.&lt;/p&gt;</description>
      </item>
    <item>
        <title>How to improve DuckDB performance on Parquet</title>
        <link>https://mooncake.pgsty.com/blog/post/duckdb-parquet/</link>
        <pubDate>Wed, 22 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/duckdb-parquet/</guid>
        <description>&lt;p&gt;Last week, we ran ClickBench on Postgres and ranked in the &lt;a href=&#34;https://mooncake.pgsty.com/blog/post/clickbench-v0.1/&#34;&gt;top 10&lt;/a&gt;. We showed that Postgres can be extended with &lt;a href=&#34;https://mooncake.pgsty.com/docs/intro/&#34;&gt;&lt;code&gt;pg_mooncake&lt;/code&gt;&lt;/a&gt; to support serious analytics workloads.&lt;/p&gt;&#xA;&lt;p&gt;In the announcement, we got a lot of questions on how &lt;code&gt;pg_mooncake&lt;/code&gt; outperforms DuckDB on Parquet files even though internally, it embeds DuckDB in Postgres and stores data in Parquet format.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;See also the discussion on &lt;a href=&#34;https://x.com/mooncake_dev/status/1881844188905709880&#34;&gt;X / Twitter&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The best part: &lt;code&gt;pg_mooncake&lt;/code&gt; does not modify DuckDB at all&amp;hellip;&lt;/p&gt;</description>
      </item>
    <item>
        <title>The easiest way to Analytics in Postgres: pg_mooncake v0.1</title>
        <link>https://mooncake.pgsty.com/blog/release/pgmooncake-v01/</link>
        <pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/release/pgmooncake-v01/</guid>
        <description>&lt;p&gt;We &lt;a href=&#34;https://mooncake.pgsty.com/blog/post/how-we-built-pgmooncake/&#34;&gt;announced&lt;/a&gt; &lt;code&gt;pg_mooncake&lt;/code&gt; to the world on Day 60.&lt;/p&gt;&#xA;&lt;p&gt;Today, Day 131, &lt;code&gt;pg_mooncake&lt;/code&gt; comes out of &lt;a href=&#34;https://github.com/Mooncake-Labs/pg_mooncake/releases/tag/v0.1.0&#34;&gt;beta&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;pg_mooncake&lt;/code&gt; wins on &lt;strong&gt;ease&lt;/strong&gt; and &lt;strong&gt;performance&lt;/strong&gt;. So, we doubled down for v0.1. That&amp;rsquo;s it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-easiest-way-to-fast-analytics-in-postgres&#34;&gt;The Easiest Way to Fast Analytics in Postgres&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;With a native columnstore table in Postgres, &lt;code&gt;pg_mooncake&lt;/code&gt; brings familiar table semantics to the way you run analytics. Columnstore tables support transactional operations like &lt;code&gt;INSERT&lt;/code&gt;, &lt;code&gt;SELECT&lt;/code&gt;, &lt;code&gt;UPDATE&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, and &lt;code&gt;COPY&lt;/code&gt;, alongside joins with regular Postgres heap tables.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pg_mooncake 🤝 drizzle: typed SDKs for your analytic workloads</title>
        <link>https://mooncake.pgsty.com/blog/post/pgmooncake-drizzle/</link>
        <pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/pgmooncake-drizzle/</guid>
        <description>&lt;p&gt;A thing that surprised us in the &lt;a href=&#34;https://mooncake.pgsty.com/docs/intro/&#34;&gt;&lt;code&gt;pg_mooncake&lt;/code&gt;&lt;/a&gt; &lt;a href=&#34;https://mooncake.pgsty.com/blog/post/how-we-built-pgmooncake/&#34;&gt;launch&lt;/a&gt; was how much developers cared about ORMs for their analytical workloads. We saw two typical requests:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;I have a bunch of Parquet files. I want full ORM support over them.&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&amp;ldquo;I use Drizzle/Prisma for my transactional database. I also want to use it for my analytics and dashboards.&amp;rdquo;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://mooncake.pgsty.com/images/blog/blog6-slack.jpg&#34; alt=&#34;slack&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;We&amp;rsquo;ve always believed that columnar storage in Postgres must look and feel like a regular heap table. It&amp;rsquo;s where we innovated with &lt;code&gt;pg_mooncake&lt;/code&gt; columnstore tables; you can run transactions, updates, deletes, and joins with heap tables.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pg_mooncake &#43; Neon: serverless analytics in Postgres</title>
        <link>https://mooncake.pgsty.com/blog/post/pgmooncake-neon/</link>
        <pubDate>Tue, 07 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/pgmooncake-neon/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://mooncake.pgsty.com/docs/intro/&#34;&gt;&lt;code&gt;pg_mooncake&lt;/code&gt;&lt;/a&gt; launched in beta two months ago. It adds columnar storage and a vectorized engine to Postgres.&lt;/p&gt;&#xA;&lt;p&gt;Over the last two months, with our customers, we&amp;rsquo;ve realized we accidentally built the best serverless database for analytics. Here&amp;rsquo;s the story:&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-pg_mooncake--neon-storage-engine&#34;&gt;1. pg_mooncake 🤝 Neon storage engine&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Neon innovated significantly on its &lt;a href=&#34;https://neon.tech/blog/get-page-at-lsn&#34;&gt;storage engine&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There&amp;rsquo;s a great &lt;a href=&#34;https://x.com/nikitabase/status/1723579854266966399&#34;&gt;thread&lt;/a&gt; by Nikita on this. This storage engine is how Neon can achieve true separation of storage &amp;amp; compute. This leads to an exceptional DX around branching, scale-to-zero, read replicas, instant provisioning&amp;hellip; All of these are goodies of a true serverless Postgres.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Mooncake: next-gen search and analytic systems</title>
        <link>https://mooncake.pgsty.com/blog/post/mooncake-launch/</link>
        <pubDate>Wed, 30 Oct 2024 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/mooncake-launch/</guid>
        <description>&lt;p&gt;We are Zhou, Cheng, and Pranav. And we&amp;rsquo;ve spent the last decade building databases at MemSQL (now SingleStore).&lt;/p&gt;&#xA;&lt;p&gt;We love complex systems, deep-tech engineering, and naturally – physics 🙂 Data systems, much like physics, are built on certain principles. The principles need to be unanimous and durable.&lt;/p&gt;&#xA;&lt;p&gt;Building systems that are simply &amp;rsquo;technically&amp;rsquo; better is futile. The success of a data system depends on the principles it embodies, and changing them along the way is extremely difficult. Closed-source companies can&amp;rsquo;t go to open source and expect adoption. Databases can&amp;rsquo;t just abandon their storage format and be effective stateless engines.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Things we learnt</title>
        <link>https://mooncake.pgsty.com/blog/post/things-we-learnt/</link>
        <pubDate>Sun, 08 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://mooncake.pgsty.com/blog/post/things-we-learnt/</guid>
        <description>&lt;p&gt;The title should really be &amp;ldquo;Things we learnt, the hard way&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;As we start this new journey, we spent some time thinking about the axioms of data today. These are things we (or no one for that matter) can dispute.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-if-postgres-can-do-it-postgres-will-do-it&#34;&gt;1. If Postgres can do it, Postgres will do it&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;We&amp;rsquo;ve seen this one plenty of times now – it started with JSON, then moved to geo-spatial (&lt;code&gt;PostGIS&lt;/code&gt;), and now we&amp;rsquo;re seeing it with vector search (&lt;code&gt;pgvector&lt;/code&gt;).&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
