

DuckLake Performance Optimization: Faster Queries From Your Lakehouse
DuckLake works well out of the box. Getting faster queries as your lakehouse grows mostly comes down to reading less data: skipping files you don't need, skipping row groups within the files you do read, and writing Parquet in a way that suits your queries.
Alex Monahan and Matt Martin, co-authors of O'Reilly's DuckLake: The Definitive Guide, walk through the book's new Performance Optimization chapter and take your questions live. Matt has been partitioning and clustering large fact tables for over a decade. Alex's first major DuckLake contribution was clustering, and he calls it his favorite optimization.
You'll learn how to:
Find the bottleneck first with metadata logging, EXPLAIN ANALYZE, and JSON query profiles (and why handing those profiles to an LLM works well)
Pick partition keys and sort orders so queries skip whole files and row groups, and spot when bucket partitioning works against you
Sort on two columns at once with space-filling curves, something the Iceberg spec doesn't allow
Tune compression, file size, and row group size together instead of one at a time
Keep the catalog and storage lean with inlining, compaction, snapshot expiration, and cleanup, and know which of these actually make queries faster