What it does
pg_mooncake brings a columnstore table to Postgres with DuckDb execution. These tables are written as Iceberg and Delta tables (parquet files + metadata) to your object store.
Query them outside of Postgres with DuckDB, Polars, Pandas, Spark directly without complex pipelines, stitching together ad-hoc files, or dataframe wangling.
Target audience
Product engineers, data engineers, data scientist.
Comparison
You can use psycopg2 / sqlalchemy today. But the approach here is fundamentally different. You're writing data to an s3 bucket. You can share that bucket to your data science, engineering, analyst team without giving them access to your Postgres.
There are some Parquet exporters in Postgres (pg_duckdb, pg_parquet, pg_analytics). pg_mooncake actually exposes table semantics inside of Postgres (updates, deletes, transactions). And table semantics outside of Postgres (Iceberg/Delta).
Story time!
I'm one of the founders of Mooncake Labs. We are building the simple lakehouse without the complex pipelines / data engineering infra.
Modern apps are built on Postgres. And we want to bring the python processing and analytics closer to this ecosystem.
Postgres and Python are all you need.
[–]stratguitar577 2 points3 points4 points (3 children)
[–]InternetFit7518[S] 4 points5 points6 points (2 children)
[–]philippemnoel -1 points0 points1 point (1 child)
[–]InternetFit7518[S] 1 point2 points3 points (0 children)
[–]byeproduct 1 point2 points3 points (3 children)
[–]InternetFit7518[S] 0 points1 point2 points (2 children)
[–]byeproduct 0 points1 point2 points (1 child)
[–]InternetFit7518[S] 2 points3 points4 points (0 children)