blog
16/5/24

Efficiënte dataverwerking met Delta Lake in Microsoft Fabric

Vorig jaar lanceerde Microsoft het nieuwe analytics platform Fabric. Hoe onderscheidt Fabric zich van andere analytics platforms zoals Azure Synapse? In deze blog gaan we dieper in op een van de belangrijkste bouwblokken van een analytics platform, de dataopslag.

Tegenwoordig wordt er steeds meer data opgeslagen uit allerlei applicaties. Daardoor moeten analyse tools steeds grotere hoeveelheden data kunnen verwerken. Niet alleen de hoeveelheid data groeit, ook de frequentie neemt toe. Voor steeds meer processen is het zelfs belangrijk dat er real-time informatie beschikbaar is. Denk bijvoorbeeld aan sensordata over de status van een machine. Het is dus belangrijk dat data verwerking niet ten koste gaat van snelheid of betrouwbaarheid. Om deze alsmaar groeiende datavolumes efficiënt te kunnen verwerken, heeft Microsoft in Fabric gekozen voor de open source software Delta Lake.  

In Delta Lake worden tabellen opgeslagen in een Parquet bestandsstructuur. Dit is een opslagtype dat speciaal ontworpen is voor het analyseren van big data. Het heeft een aantal voordelen ten opzichte van traditionele opslag zoals CSV. Tabellen worden gegroepeerd per kolom en in sub-bestanden opgeslagen, inclusief metadata met statistische gegevens. Dit betekent dat waardes uit dezelfde kolom fysiek bij elkaar staan. Deze manier van opslaan versnelt het uitvoeren van queries, omdat irrelevante kolommen en bestanden niet geladen hoeven te worden. Ter vergelijking, bij CSV wordt data per rij opgeslagen in een bestand. Voor een specifieke query moet dan eerst alle data gelezen worden om tot het antwoord te komen. Een tijdrovende klus bij grote datasets. Daarnaast worden Parquet bestanden gecomprimeerd zodat er minder opslagruimte wordt gebruikt. Een nadeel van Parquet bestanden is dat ze niet aan te passen zijn; daarom moet altijd eerst de hele tabel ingeladen worden als er data aangepast moet worden.

Delta Lake gebruikt Parquet opslag als basis, maar heeft nog een aantal extra voordelen. Ten eerste biedt Delta Lake, net als relationele databases, de mogelijkheid om data aan te passen. Hierdoor hoeft niet meer de hele tabel ingeladen te worden voordat data aangepast kan worden. Delta Lake maakt gebruik van een aparte transactielog met metadata over de hele tabel in plaats van metadata per sub-bestand. Dit maakt queries nog sneller, omdat niet elk Parquet bestand gelezen hoeft te worden om de metadata op te halen.  

Daarnaast zorgen zogenaamde ACID (atomicity, consistency, isolation & durability) transacties voor een verhoogde betrouwbaarheid van de data. Ook is het in Delta Lake mogelijk om de structuur van tabellen over tijd aan te passen zonder het ETL-proces te breken. Handig als de structuur in het bronsysteem verandert of je een nieuwe kolom toe wilt voegen. Delta Lake slaat, in tegenstelling tot Parquet, verschillende versies op. Hierdoor kan je eenvoudig terug naar een eerdere versie als er een fout in de data zit.  

Wat betekent het gebruik van Delta Lake voor jouw organisatie? Efficiëntere opslag van data zorgt voor lagere kosten van een analytics platform. Ten eerste doordat er minder ruimte nodig is voor de opslag van dezelfde data, maar ook omdat resources korter aan het draaien zijn bij het verwerken van de data. De mogelijkheid van Delta Lake om met veranderende tabel structuren om te gaan zorgt ook voor lagere onderhoudskosten. Er hoeven immers minder vaak aanpassingen aan het analytics platform gedaan te worden. Kortom, deze technische verbeteringen zorgen voor lagere kosten, minder onderhoud én betrouwbaardere analyses en dashboards. Een krachtige combinatie om jouw organisatie vooruit te helpen.

meer weten

Neem contact op met

Mart

Data & Analytics Consultant