Tärningens DLH

Data Lakehouse

Data Lakehouse kombinerar flexibiliteten och skalbarheten i en Data Lake, med tillförlitligheten, funktionaliteten och hanterbarheten i ett databasbaserat Data Warehouse.

Mer: DL och DW

När de flesta Data Lakes började bli alltmer svåra att hantera, överblicka och använda uppstod behovet att göra dem mer hanterbara, tillförlitliga och användbara. Lösningen är att introducera ett logiskt lager ovanpå filerna med metadata, dvs data om datat, som tillåter detta.

En viktig funktionalitet är support för ACID-transaktioner (Atomicity, Concistency, Isolation & Durability), något som alla relationsdatabaser erbjuder. Detta innebär i praktiken att alla uppdateringar av data kan ske kontrollerat, vilket gör att en användare kan lite på att datat är korrekt uppdaterat.

Mer: RDBMS

Andra viktiga funktioner är stöd för Insert / Update / Delete som i en databas och schema evolution (dvs att automatiskt uppdatera datastrukturen när den ändras i källan), dynamisk partitionering och optimering av filerna (dvs att automatiskt uppdatera partitioneringen av data och optimera lagringen), samt Time Travel (dvs att fråga efter gammalt data, hur det såg ut vid en tidigare tidpunkt).

Termen Data Lakehouse myntades första gången 2017 av en Snowflake-kund, men generellt är det Databricks som har använt och marknadsfört begreppet brett. Bland annat har Bill Inmon skrivit en artikel med namnet "The Data Lakehouse" som publicerades på Databricks.com, där han nämner Delta Lake som ett exempel på ett logiskt lager.

Delta Lake skapades ursprungligen av Databricks, och blev 2019 en öppen standard som alla kan använda. I praktiken är det dock huvudsakligen Databricks som använder denna standard. Andra exempel på logiska lager är Apache Iceberg och Apache Hudi, som båda är öppna standarder.

Apache Iceberg utvecklades ursprungligen av Netflix, och gjordes 2018 om till en öppen standard. Första versionen släpptes 2020. För närvarande (2025) är Apache Iceberg den mest populära och snabbt växande standarden, förutom Delta Lake på Databricks.

Dessa logiska lager tillhandahåller liknande funktionalitet, men fungerar rätt olika under ytan. Delta Lake använder tex en logg för att hålla reda på alla ändringar, medan Apache Iceberg använder separata manifest-filer för samma ändamål. Delta Lake stöder enbart filformatet Parquet, medan Apache Iceberg stöder Parquet, Avro och Orc.

Open Lakehouse

Med hjälp av öppna standarder som dessa kan man fritt välja både storage och compute för sin data processering. Detta är en fördel eftersom man kan optimera sin processering efter olika behov, oberoende var datat är lagrat. Detta kallas för Open Lakehouse

Sidan skapad 12 mars 2025
Sammanställt av Christer Tärning.