Open lakehouse format that keeps table data in Parquet and metadata in a SQL catalog database
MIT
- C++
- Python
- CMake

About DuckLake
DuckLake is an open lakehouse format that stores table data as Parquet files and keeps all table metadata in a SQL catalog database. Built on plain SQL and Parquet, it separates metadata from file storage so snapshots, schema changes, and statistics live in a transactional database rather than scattered metadata files.
The DuckLake extension lets DuckDB read and write these tables directly using standard SQL. Tables support time travel between versions, schema evolution, and a change data feed, and the catalog can run on DuckDB, PostgreSQL, or SQLite while the data stays in Parquet.
DuckLake comes from the DuckDB team and installs as a DuckDB extension.
Key features
- Table data in Parquet, metadata in a SQL catalog database
- Read and write directly from DuckDB with standard SQL
- Time travel between table versions
- Schema evolution and a change data feed
- Catalog on DuckDB, PostgreSQL, or SQLite
Details
- First released
- 2025
- Type
- Open lakehouse format
- Storage
- Parquet files plus SQL catalog
- Catalog
- DuckDB · PostgreSQL · SQLite
- Compatibility
- DuckDB extension
- Maintainer
- DuckDB team
