Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Pg_mooncake – Delta/Iceberg columnstore tables in Postgres (github.com/mooncake-labs)
25 points by sunzhousz 7 days ago | hide | past | favorite | 9 comments
Hello HN, one of the founders of Mooncake Labs here.

Today, we are launching pg_mooncake, an extension that brings columnstore tables with DuckDB execution to Postgres. Expect analytical performance akin to DuckDB on Parquet (clickbench results to come soon). You can run transactional updates, deletes, inserts on these tables, and they're written as Delta Lake tables (and soon Iceberg) to your object store (S3, etc.). pg_mooncake is live on Neon today. Let us know what you think. It'll be coming to Supabase shortly, and other Postgres providers in the future.

Why another postgres analytics extension?

We actually leverage pg_duckdb and DuckDB as our execution engine — this is how we were able to ship the extension in just 60 days. We wrote about this with the DuckDB team: https://motherduck.com/blog/pg-mooncake-columnstore/

pg_mooncake shines in two scenarios:

  1. Up-to-date analytics in Postgres

  - This is where having a table semantics, and not just exporting files is key. 

  2. Exporting Postgres Data to Iceberg/Delta Lake tables, and querying them outside of Postgres

  - Run ad-hoc analytics with Pandas, DuckDB, Polars. Or data transforms and processing with Polars and Spark directly on these tables. 
  You don’t need to manage ad-hoc parquet files and complex pipelines.
Mooncake Labs.

We just came out of stealth today. Mooncake is a managed Lakehouse with clean Postgres and Python experiences. Our core belief is that open table formats (Iceberg and Delta) provide a lot of flexibility, and we can ensure great DevEx on top. We will bring it to more workloads, applications, developers and agents.

Read about our beliefs: https://mooncake.dev/blog/3.

Cheers!






Very cool! pg_duckdb itself is missing fully integrated storage - it can query data stored externally (say in S3) in delta/iceberg formats, but it can't write out data in those formats via transactional writes to PG tables (insert\update\deletes). pg_mooncacke is one neat way of solving that problem. It lets you have a columnstore table in Postgres that can do both reads and writes as if it's any other PG table and have the storage format be an open format like delta/iceberg/etc with that data persisted to blob store (like most cloud DWs would do anyways).

Congrats on the launch! pg_mooncake sounds like a fantastic addition to the Postgres ecosystem, especially with the combination of columnstore tables and DuckDB execution. It’s exciting to see the seamless integration with Delta Lake tables and the ability to handle transactional updates. The focus on up-to-date analytics and easy export to Iceberg/Delta Lake for further processing is a game-changer. Looking forward to the ClickBench results and seeing it expand to other Postgres providers. Well done on shipping this so quickly with pg_duckdb—impressive work!

Great add to the PG ecosystem, and looking forward to kicking the tires.

Been looking for something to augment work done from pg_lakehouse!


This is awesome, excited for what’s next

Oh they’re cooking

Baking*

datalake~ datacake~ lakehouse~ cakehouse~ lol why would people care

let them bake

This is awesome, congrats!



Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: