Engineering & Deep Dives
Porting pg_mooncake and duckdb_mooncake to DuckDB 2.0, pg_duckdb 1.2.0, and pgrx 0.19.3
An engineering walkthrough of adapting duckdb_mooncake v0.0.2 and pg_mooncake v0.3.0 to DuckDB 2.0 C++ catalog/filter APIs, wiring LSN-consistent snapshot reads via dlsym, and fixing NULL filter …
Mooncake is joining Databricks!
Unifying the operational (Postgres / Lakebase) and intelligence (Lakehouse) data estates. The right way.
Mooncake: a real-time storage engine for Apache Iceberg
Technical whitepaper on Mooncake and Moonlink: Arrow write buffers, positional deletion vectors, conflict-free compaction remapping, Puffin indexes, and NVMe caching for real-time Apache Iceberg.
No, Iceberg won’t fix your data stack.
Apache Iceberg is great for Netflix-scale batch lakes, but painful for real-time apps unless we give it true RDBMS ergonomics: concurrent writes, online compaction, and native indexing.
but, my Postgres (+ lakehouse) is free
Snowflake and Databricks paid billions for their Postgres. Why Postgres + Apache Iceberg is the open, free stack for modern apps and AI agents.
HTAP is Dead
I spent the last 10 years building, and then rescuing HTAP databases. Their spirit lives on in the Lakehouse today.
What does Analytics in Postgres really mean?
From Level 0 SQL tuning to Level 3 real-time OLTP-to-columnstore sync: what developers actually want from Analytics in Postgres.
How to improve DuckDB performance on Parquet
How we made DuckDB run faster on Parquet files in ClickBench with the help of PostgreSQL system tables, row-group min/max pruning, and metadata caching.
Clickbench says Postgres is a great analytics database
PostgreSQL is now Top 10 on ClickBench with pg_mooncake — delivering specialized OLAP performance entirely inside Postgres.
wth are S3 tables
I studied AWS S3 Tables so you don't have to: how S3 table buckets enable catalog-free Apache Iceberg commits and what they mean for Postgres.
pg_mooncake 🤝 drizzle: typed SDKs for your analytic workloads
Use your favorite TypeScript ORM (Drizzle) for analytical workloads on pg_mooncake columnstore tables in PostgreSQL.
pg_mooncake + Neon: serverless analytics in Postgres
How we accidentally built the best serverless database for analytics by combining Neon's storage engine with pg_mooncake's lakehouse architecture.
pg_mooncake: Fast Analytics in Postgres with Columnstore Tables and DuckDB
pg_mooncake brings columnstore tables with DuckDB execution to Postgres for fast analytics, supporting transactional inserts, updates, and deletes.
Mooncake: next-gen search and analytic systems
We are Zhou, Cheng, and Pranav, and we've spent the last decade building databases. Here are our principles for the next generation of data systems.
Reflections from the Iceberg Meetup
Last month, I spoke at the Iceberg meetup at Snowflake HQ. Here are my key takeaways on community-driven development, the early stages of open table formats, and the future of data performance.
Things we learnt
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.
Porting pg_mooncake and duckdb_mooncake to DuckDB 2.0, pg_duckdb 1.2.0, and pgrx 0.19.3
An engineering walkthrough of adapting duckdb_mooncake v0.0.2 and pg_mooncake v0.3.0 to DuckDB 2.0 C++ catalog/filter APIs, wiring LSN-consistent snapshot reads via dlsym, and fixing NULL filter …
Mooncake is joining Databricks!
Unifying the operational (Postgres / Lakebase) and intelligence (Lakehouse) data estates. The right way.
Mooncake: a real-time storage engine for Apache Iceberg
Technical whitepaper on Mooncake and Moonlink: Arrow write buffers, positional deletion vectors, conflict-free compaction remapping, Puffin indexes, and NVMe caching for real-time Apache Iceberg.
No, Iceberg won’t fix your data stack.
Apache Iceberg is great for Netflix-scale batch lakes, but painful for real-time apps unless we give it true RDBMS ergonomics: concurrent writes, online compaction, and native indexing.
but, my Postgres (+ lakehouse) is free
Snowflake and Databricks paid billions for their Postgres. Why Postgres + Apache Iceberg is the open, free stack for modern apps and AI agents.
HTAP is Dead
I spent the last 10 years building, and then rescuing HTAP databases. Their spirit lives on in the Lakehouse today.
What does Analytics in Postgres really mean?
From Level 0 SQL tuning to Level 3 real-time OLTP-to-columnstore sync: what developers actually want from Analytics in Postgres.
How to improve DuckDB performance on Parquet
How we made DuckDB run faster on Parquet files in ClickBench with the help of PostgreSQL system tables, row-group min/max pruning, and metadata caching.
Clickbench says Postgres is a great analytics database
PostgreSQL is now Top 10 on ClickBench with pg_mooncake — delivering specialized OLAP performance entirely inside Postgres.
wth are S3 tables
I studied AWS S3 Tables so you don't have to: how S3 table buckets enable catalog-free Apache Iceberg commits and what they mean for Postgres.
pg_mooncake 🤝 drizzle: typed SDKs for your analytic workloads
Use your favorite TypeScript ORM (Drizzle) for analytical workloads on pg_mooncake columnstore tables in PostgreSQL.
pg_mooncake + Neon: serverless analytics in Postgres
How we accidentally built the best serverless database for analytics by combining Neon's storage engine with pg_mooncake's lakehouse architecture.
pg_mooncake: Fast Analytics in Postgres with Columnstore Tables and DuckDB
pg_mooncake brings columnstore tables with DuckDB execution to Postgres for fast analytics, supporting transactional inserts, updates, and deletes.
Mooncake: next-gen search and analytic systems
We are Zhou, Cheng, and Pranav, and we've spent the last decade building databases. Here are our principles for the next generation of data systems.
Reflections from the Iceberg Meetup
Last month, I spoke at the Iceberg meetup at Snowflake HQ. Here are my key takeaways on community-driven development, the early stages of open table formats, and the future of data performance.
Things we learnt
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.
-
Porting pg_mooncake and duckdb_mooncake to DuckDB 2.0, pg_duckdb 1.2.0, and pgrx 0.19.3
When Mooncake Labs paused public updates to pg_mooncake after v0.2.0, the extension was pinned to an earlier DuckDB 1.3.x / pg_duckdb snapshot and pgrx 0.12. Meanwhile, the PostgreSQL ecosystem moved forward to PostgreSQL 18, pgrx 0.19.3, and …
When Mooncake Labs paused public updates to pg_mooncake after v0.2.0, the extension was pinned to an earlier DuckDB 1.3.x / pg_duckdb snapshot and pgrx 0.12. Meanwhile, the PostgreSQL ecosystem moved forward to PostgreSQL 18, pgrx 0.19.3, and …
-
Mooncake is joining Databricks!
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. Today, we’re joining forces with Databricks. The mission continues: make …
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. Today, we’re joining forces with Databricks. The mission continues: make …
-
Mooncake: a real-time storage engine for Apache Iceberg
This technical overview assumes familiarity with Apache Iceberg, an open table format for analytical datasets. Iceberg is part of the general “Lakehouse” movement, where users: Store large datasets using open file formats (Parquet + Metadata) in …
This technical overview assumes familiarity with Apache Iceberg, an open table format for analytical datasets. Iceberg is part of the general “Lakehouse” movement, where users: Store large datasets using open file formats (Parquet + Metadata) in …
-
No, Iceberg won’t fix your data stack.
Life is expectations vs reality. Here is one for Apache Iceberg – a favorite amongst the data community. Expectations: Iceberg is the solution to all my data pains See, the core of Iceberg is pretty neat: Keep all data in object storage in open file …
Life is expectations vs reality. Here is one for Apache Iceberg – a favorite amongst the data community. Expectations: Iceberg is the solution to all my data pains See, the core of Iceberg is pretty neat: Keep all data in object storage in open file …
-
but, my Postgres (+ lakehouse) is free
Disclaimer: Your Postgres and Lakehouse are free and open too. You don’t need to be (or spend like) a giant to use them. Why Postgres + Lakehouse? Reason #1: If you believe in AI, this is the agent stack Agents need memory. Both working memory and …
Disclaimer: Your Postgres and Lakehouse are free and open too. You don’t need to be (or spend like) a giant to use them. Why Postgres + Lakehouse? Reason #1: If you believe in AI, this is the agent stack Agents need memory. Both working memory and …
-
HTAP is Dead
This blog is inspired by Jordan Tigani’s blog titled “Big Data is Dead”. Jordan and I actually spent some time building an HTAP database at SingleStore. The good old days (’80s) Back in the ’80s, one relational database did everything. Transactions …
This blog is inspired by Jordan Tigani’s blog titled “Big Data is Dead”. Jordan and I actually spent some time building an HTAP database at SingleStore. The good old days (’80s) Back in the ’80s, one relational database did everything. Transactions …
-
What does Analytics in Postgres really mean?
Few areas in databases are hotter right now than extending Postgres to support analytics queries. This isn’t a particularly novel area either –– there have been plenty of attempts in the last decade: Here is what it means to our customers –– and why …
Few areas in databases are hotter right now than extending Postgres to support analytics queries. This isn’t a particularly novel area either –– there have been plenty of attempts in the last decade: Here is what it means to our customers –– and why …
-
How to improve DuckDB performance on Parquet
Last week, we ran ClickBench on Postgres and ranked in the top 10. We showed that Postgres can be extended with pg_mooncake to support serious analytics workloads. In the announcement, we got a lot of questions on how pg_mooncake outperforms DuckDB …
Last week, we ran ClickBench on Postgres and ranked in the top 10. We showed that Postgres can be extended with pg_mooncake to support serious analytics workloads. In the announcement, we got a lot of questions on how pg_mooncake outperforms DuckDB …
-
Clickbench says Postgres is a great analytics database
TL;DR: We spent a few months optimizing PostgreSQL and made it to the Top 10 on ClickBench, a benchmark typically dominated by specialized analytics databases. What’s more, all compute is within Postgres, and all tables are managed directly by …
TL;DR: We spent a few months optimizing PostgreSQL and made it to the Top 10 on ClickBench, a benchmark typically dominated by specialized analytics databases. What’s more, all compute is within Postgres, and all tables are managed directly by …
-
wth are S3 tables
Amazon announced table buckets during re:Invent last year. An S3 bucket that’s also a table? What does that mean? TL;DR: S3 tables allow Iceberg tables to exist without a catalog. Let me explain. Iceberg vs Delta Lake What? I thought Iceberg and …
Amazon announced table buckets during re:Invent last year. An S3 bucket that’s also a table? What does that mean? TL;DR: S3 tables allow Iceberg tables to exist without a catalog. Let me explain. Iceberg vs Delta Lake What? I thought Iceberg and …
-
pg_mooncake 🤝 drizzle: typed SDKs for your analytic workloads
A thing that surprised us in the pg_mooncake launch was how much developers cared about ORMs for their analytical workloads. We saw two typical requests: “I have a bunch of Parquet files. I want full ORM support over them.” “I use Drizzle/Prisma for …
A thing that surprised us in the pg_mooncake launch was how much developers cared about ORMs for their analytical workloads. We saw two typical requests: “I have a bunch of Parquet files. I want full ORM support over them.” “I use Drizzle/Prisma for …
-
pg_mooncake + Neon: serverless analytics in Postgres
pg_mooncake launched in beta two months ago. It adds columnar storage and a vectorized engine to Postgres. Over the last two months, with our customers, we’ve realized we accidentally built the best serverless database for analytics. Here’s the …
pg_mooncake launched in beta two months ago. It adds columnar storage and a vectorized engine to Postgres. Over the last two months, with our customers, we’ve realized we accidentally built the best serverless database for analytics. Here’s the …
-
pg_mooncake: Fast Analytics in Postgres with Columnstore Tables and DuckDB
pg_mooncake brings columnstore tables with DuckDB execution to Postgres for fast analytics. It supports transactional inserts, updates, and deletes, just like regular Postgres tables. Data is written with Delta Lake (and Apache Iceberg in v0.2+) …
pg_mooncake brings columnstore tables with DuckDB execution to Postgres for fast analytics. It supports transactional inserts, updates, and deletes, just like regular Postgres tables. Data is written with Delta Lake (and Apache Iceberg in v0.2+) …
-
Mooncake: next-gen search and analytic systems
We are Zhou, Cheng, and Pranav. And we’ve spent the last decade building databases at MemSQL (now SingleStore). We love complex systems, deep-tech engineering, and naturally – physics 🙂 Data systems, much like physics, are built on certain …
We are Zhou, Cheng, and Pranav. And we’ve spent the last decade building databases at MemSQL (now SingleStore). We love complex systems, deep-tech engineering, and naturally – physics 🙂 Data systems, much like physics, are built on certain …
-
Reflections from the Iceberg Meetup
Last month, I spoke at the Iceberg meetup at Snowflake HQ. Public speaking has never been my favorite, and knowing Snowflake CEO Sridhar and Tabular CEO Ryan were in the audience did not help. It was day 18 of starting Mooncake Labs, and I spoke …
Last month, I spoke at the Iceberg meetup at Snowflake HQ. Public speaking has never been my favorite, and knowing Snowflake CEO Sridhar and Tabular CEO Ryan were in the audience did not help. It was day 18 of starting Mooncake Labs, and I spoke …
-
Things we learnt
The title should really be “Things we learnt, the hard way”. 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. 1. If Postgres can do it, Postgres …
The title should really be “Things we learnt, the hard way”. 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. 1. If Postgres can do it, Postgres …