Database / DuckDB Interview questions
What is the difference between DuckDB and Apache Iceberg/Delta Lake for table formats?
DuckDB itself is a query engine, it executes SQL and can read and write many table formats, but isn't itself a table format. Apache Iceberg and Delta Lake are open table format specifications: they define how table metadata, schema, snapshots, file listings, is organized and tracked over a set of underlying data files (typically Parquet) sitting in object storage, independent of any single query engine.
| DuckDB | Iceberg / Delta Lake |
| A query engine that executes SQL. | Table format specifications defining metadata organization. |
| Can read and write Iceberg/Delta tables via extensions. | Can be read/written by many engines: Spark, Trino, DuckDB, and others. |
| Doesn't itself define a lakehouse metadata standard (though DuckDB Labs created DuckLake separately). | Define exactly how schema evolution, time travel, and ACID guarantees work at the metadata level. |
In practice, DuckDB is commonly used as one of several engines capable of reading (and, increasingly, writing) tables stored in these formats, which sit at a different layer of the stack entirely: the format defines the data organization contract, while DuckDB (or Spark, or Trino, or another engine) is one of potentially many tools that can operate on data organized according to that contract.
More Related questions...