DuckLake logo

DuckLake

Open lakehouse format that keeps table data in Parquet and metadata in a SQL catalog database

Repository activity
  • Stars3k
  • Forks251
  • Open Issues179
duckdb health score - Linux Foundation Insights
License

MIT

Languages
  • C++
  • Python
  • CMake
DuckLake screenshot

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