De evolutie van datawarehouses, datalakes en lakehouses
Lakehouse-architectuur is een van de belangrijkste facetten van een modern datafundament. Voor veel organisaties is dit een noodzakelijke stap op het gebied van datamanagement die nog genomen moet worden. Toch bestaat dit concept alweer sinds 2016; hoog tijd dus om hiermee aan de slag te gaan.
In dit blog neem ik je mee in de evolutie van de lakehouse-technologie. Daarna deel ik vijf voordelen van lakehouse-architectuur in vergelijking met datawarehouses en datalakes.
De ontwikkeling van data-opslag
Laten we beginnen met een korte samenvatting van ontwikkelingen door de jaren heen voor wat extra context.
Jaren ‘80: Het concept van datawarehousing ontstond met IBM’s business datawarehouse, geïntroduceerd door Barry Devlin en Paul Murphy. Dit betekende een grote stap vooruit ten opzichte van het rapporteren van informatie uit transactionele databases. Dankzij modelleertechnieken van Bill Inmon en Ralph Kimball werd het mogelijk om meer complexe en geavanceerde rapportages te realiseren en transactionele systemen te ontlasten.
Jaren ‘90: De commercialisering van datawarehouses nam toe, met oplossingen van Oracle, IBM en SAP. Deze maakten het mogelijk grote hoeveelheden gestructureerde data op te slaan en de term ‘Business Intelligence’ werd breed omarmd.
Jaren ’00: OLAP (Online Analytical Processing) en data marts werden gemeengoed, waardoor gedetailleerde data sneller toegankelijker werd. ETL (Extract, Transform, Load) zorgde voor bredere adoptie van datawarehouses. Dit werd aangevuld met technieken zoals Data Vault modellering, ontwikkeld door Dan Linstedt, voor het goed vormgeven van gegevensverzamelingen.
Mid jaren ’00: De opkomst van datalakes werd gedreven door de behoefte om meer verschillende datatypes (tekst, afbeeldingen, video’s etc.) te kunnen verwerken en opslaan. De groei van het internet zorgde voor een explosie van data. Open Source technologieën zoals Apache Hadoop en het Hadoop Distributed File System (HDFS) maakten het mogelijk grote datasets kostenefficiënt op te slaan en te verwerken. Het ‘schema on read’ concept werd geïntroduceerd, wat het mogelijk maakte pas structuur op de data aan te brengen op het moment van het uitvoeren van een query, in tegenstelling tot de traditionele ‘schema on write’ aanpak.
Jaren ‘10: Hadoop en andere Apache-innovaties brachten ongestructureerde data binnen bereik voor verwerking en het verkrijgen van nieuwe inzichten. De batch-georiënteerde MapReduce-techniek was echter vaak traag, zeker bij meer complexe queries op data. Met het (open source) beschikbaar stellen van Apache Spark, dat gebruik maakt van in-memory verwerking van data, werd data-analyse aanzienlijk sneller en kostenefficiënter. Spark bevat ook extensies voor realtime dataverwerking, een belangrijke toevoeging om data sneller beschikbaar te krijgen voor analyses.
De introductie van lakehouse-architectuur in 2016
In 2016 werd het lakehouse-concept geïntroduceerd: een nieuwe architectuur waarbij de beste aspecten van datawarehouses en datalakes gecombineerd kunnen worden.
Maar waarom was dit nodig, zou je kunnen denken. We hadden immers al de mogelijkheid om zowel gestructureerde als ongestructureerde data te verwerken met verschillende database en Apache open-source-tools. Dus waarom een nieuwe architectuur?
Om dit te verduidelijken geef ik je een aantal voordelen van een lakehouse ten opzichte van gescheiden datawarehouse- en datalake-oplossingen.
Vijf voordelen van lakehouse-architectuur
- Gecombineerde opslag voor gestructureerde en ongestructureerde gegevens
Beide datatypes worden in dezelfde fysieke en logische dataomgeving opgeslagen, waardoor verschillende opslagcapaciteiten niet meer nodig zijn. - ACID transactieverwerking op alle data
ACID-principes (Atomicity, Consistency, Isolation, Durability) zorgen voor betrouwbare en consistente dataverwerking. Dit betekent dat je altijd naar de meest recente en juiste versie van de waarheid kijkt, zoals opgeslagen in het datafundament. Met technologieën zoals Delta Lake kunnen ACID-principes niet alleen op datawarehousing, maar ook op ongestructureerde data worden toegepast. Hierdoor kunnen updates, verwijderingen en invoegingen worden uitgevoerd zonder de gegevensintegriteit in gevaar te brengen. - Schema’s op data voor betere data-integriteit
Een lakehouse is in staat om zowel ‘schema on read’ als ‘schema on write’ toe te passen; het beste van twee werelden om data zo flexibel mogelijk te kunnen verwerken. - Eenduidig gegevensbeheer en governance
Datawarehouses en datalakes werden vaak gescheiden van elkaar gerealiseerd, wat het beheer en de beveiliging extra complex en arbeidsintensief maakt. Een lakehouse biedt een uniforme omgeving voor toegangscontrole, gegevenskwaliteitsbewaking, data lineage en compliance. - Ondersteuning voor Business Intelligence en Machine Learning (AI)
Waar datawarehouses vooral gericht zijn op Business Intelligence, ondersteunt een lakehouse ook Machine Learning-toepassingen op hetzelfde platform, waardoor beide analysemethoden gebruikmaken van dezelfde opslag- en datamanagementmogelijkheden. Dit is een kosteneffectieve manier om data te hergebruiken voor verschillende use-cases.
Meer weten over het moderniseren van je datafundament?
Tegenwoordig bieden vrijwel alle solution providers lakehouse capabilities aan. Als je van plan bent je datafundament te moderniseren, is dit een architectuurconcept dat je niet mag overslaan. Wil je meer weten over lakehouse-technologie of hoe je je eigen datafundament kunt moderniseren, neem dan contact met me op, we helpen je graag verder!