DuckDB Enters the Lake House Race: My Take on DuckLake
I’ve been thinking about this for a few days now, and I still don’t know whether to cheer or groan. Some moments, I see DuckLake as a smart, much-needed evolution; other times, it feels like just another unnecessary entry in the ever-growing Lake House jungle.
Reality, as always, is probably somewhere in between.
MotherDuck and DuckDB have thrown their hat into the ring with yet another Lake House storage format. DuckLake joins an already crowded field, and here we are trying to make sense of it.
How Did We Get Here?
Let’s face it: we live in a Lake House world. This architecture—part data lake, part data warehouse—is where the industry has landed (or been dragged, depending on your perspective). There’s no turning back now.
CTOs everywhere have jumped headfirst into this Lake House + AI journey, chasing the dream of unified analytics and machine learning on one platform. And vendors? They want a piece of both compute and storage.
So, where does DuckLake fit? Is the Lake House format race over, or is there room for yet another player?
What is DuckLake?
According to DuckDB:
“DuckLake is an open Lakehouse format that is built on SQL and Parquet. DuckLake stores metadata in a catalog database, and stores data in Parquet files.”
In other words, it’s another Lake House format. Like most others, it uses Parquet files that can live in whatever storage layer you want.
But the key differentiator?
The catalog—DuckLake lets you store metadata in a SQL database (think Postgres). That’s a big deal. No need for complex, dedicated catalog services. No spinning up EC2 instances just to manage your metadata. Just point to a Postgres (or similar) database and you’re off.
It’s a move aimed at simplicity. After all, most shops already have a SQL database running somewhere.
Why Now? Why DuckLake?
The catalog has long been the pain point of Lake House architectures—especially with Apache Iceberg. DuckDB doesn’t support Iceberg writes, and it’s no secret why: Iceberg’s catalog complexity has frustrated many engineers.
Delta Lake, meanwhile, is winning the adoption race with broad support across tools and platforms. Iceberg is playing catch-up, fragmented across cloud providers and vendor solutions.
DuckDB saw the chaos and stepped in with something cleaner, simpler, and friendlier. DuckLake’s SQL-based catalog isn’t entirely novel (Iceberg can do this too), but the developer experience around it? That’s where DuckDB shines.
The Pros (and a Few Cons)
What DuckLake gets right:
✅ Uses familiar SQL databases for metadata — no new services to run
✅ Simple, clean design — in classic DuckDB style
✅ Easy onboarding — approachable for teams already using DuckDB
Potential drawbacks:
⚠️ The name DuckLake might limit appeal. Are Snowflake or Databricks users going to adopt a format so tied to DuckDB branding? Probably not.
⚠️ If DuckLake stays too DuckDB-centric, it won’t gain traction beyond that ecosystem.
That said—credit where it’s due. DuckLake highlights where other formats, especially Iceberg, have stumbled. It’s a solid contribution.
Should You Try It?
If you’re already in the DuckDB world, DuckLake is worth exploring. It’s easy to get started—just a few lines of DuckDB SQL, a Postgres backend for metadata, and you’re off.
The code and setup are simple, approachable, and well-documented. They even put together a clean website to help you out.
No, DuckLake isn’t revolutionary. But DuckDB took an idea that existed (Lake House + SQL catalog) and made it better. Easier. Friendlier. And that’s often what wins.



