Database / DuckDB Interview questions
What is the difference between DuckLake and traditional Parquet-based data lakes?
A "traditional" (pre-lakehouse-format) data lake is often just a collection of Parquet files in object storage with no formal metadata layer at all, an application or query engine has to infer a table's structure and current state by listing and inspecting files directly, with no built-in schema evolution, time travel, or transactional guarantees across multiple files.
| Traditional Parquet data lake | DuckLake |
| No formal metadata layer; files must be listed/inspected directly. | Metadata tracked explicitly in a SQL database. |
| No built-in schema evolution or time travel. | Supports schema evolution and time travel as core features. |
| No cross-file transactional guarantees. | ACID transactions across the table, backed by the metadata database. |
| Small-file accumulation is a common, harder-to-manage problem. | Data inlining specifically mitigates the small-file problem. |
DuckLake, like Iceberg and Delta Lake before it, exists specifically to add this missing structure and set of guarantees on top of what would otherwise be a loose collection of files, the actual Parquet data storage is largely the same underlying idea, but DuckLake (and lakehouse formats generally) wrap it with the metadata, consistency, and evolution guarantees a raw file collection doesn't provide on its own.
More Related questions...