DuckDB integreert RDBMS-principes in lakehouse-architectuur
DuckDB, een open source databaseproject, introduceert relationele databaseprincipes binnen een lakehouse-architectuur via DuckLake. Dit is een uitbreiding die opslag en metadata binnen DuckDB organiseert. In plaats van bestandsgebaseerde metadata en externe catalogi, gebruikt DuckLake een relationele database als catalog, zoals PostgreSQL of SQLite.
Volgens de documentatie wordt metadata opgeslagen in tabellen waarin ook mutaties worden vastgelegd. Voor data- en BI-professionals betekent dit dat databeheer binnen een lakehouse meer aansluit bij transactionele databases. DuckDB wijkt hiermee af van gangbare lakehouse-implementaties, die vaak metadata opslaan in bestanden en afhankelijk zijn van externe catalog layers. Door metadata en query-engine te combineren ontstaat een geïntegreerde verwerking van data en transacties.
Data inlining en opslagmechaniek
Een tweede concept binnen DuckLake is data inlining. Kleine datasets worden direct opgeslagen in de catalog-tabellen in plaats van in afzonderlijke bestanden. De documentatie hanteert hierbij een standaardgrens van tien rijen. Wanneer deze grens wordt overschreden, schrijft DuckLake de data weg naar Parquet-bestanden. Voor reeds inline opgeslagen data bestaat een expliciet flush-mechanisme, dat de data alsnog naar bestanden verplaatst.
Tijdens query-executie combineert DuckDB beide opslagvormen. De engine leest zowel inline opgeslagen rijen uit de catalog als data uit Parquet-bestanden, en verwerkt deze als één dataset. Hiermee wordt extra I/O naar object storage vermeden voor kleine datasets, terwijl grotere volumes in kolomgebaseerde bestanden blijven opgeslagen.
Positionering ten opzichte van bestaande lakehouse-architecturen
De combinatie van relationele metadata-opslag en data inlining positioneert DuckLake als een hybride benadering tussen data lakes en traditionele databases. Waar lakehouse-oplossingen vaak leunen op open table formats en externe catalog services, integreert DuckDB deze functionaliteit binnen de engine en de gekoppelde catalog-database.
Dit resulteert in een architectuur waarin transactielogica, metadata en queryverwerking nauw zijn geïntegreerd. Bekende databaseconcepten zoals snapshots en transacties worden binnen de lakehouse-context op een relationele manier toegepast, in plaats van via file-gebaseerde logs.




