Data engineering: is jouw data-architectuur klaar voor data science?

Een (modern)datawarehouse is een vereiste om echt van data science te kunnen profiteren. Is de data-architectuur van jouw organisatie al klaar voor data science-toepassingen? Wat is data engineering, wat is een (modern) datawarehouse en waarom hebben we het nodig? Yorick Fredrix en ikzelf leggen dat in deze blog uit.

Een datawarehouse: van ETL naar ELT

Kort gezegd houdt data engineering zich bezig met de beschikbaarheid en schaalbaarheid van data science-oplossingen. Ook draagt de data engineer zorg voor de automatisering van dataverwerking. Hierbij wordt voornamelijk aandacht besteed aan de architectuur en implementatie van data gedreven-oplossingen. Binnen het takenpakket van de engineer vielen daarbij oorspronkelijk de volgende vier taken. 

Stap 1. Extraction. Hierbij wordt data van een bron opgehaald. Of deze bron nu een streamende sensor is of een bulk van historische data maakt niet uit, het belangrijke is dat de informatie gebruikt kan gaan worden in verdere stappen. 

Stap 2. Transform. Na de extractie volgt de transform-stap. Dit is de voorbewerking van de data met als doel om de kwaliteit hiervan te verbeteren.  

Stap 3 en 4. Load. De load stap bestaat uit het (3) opslaan van de verkregen informatie en het (4) aanbieden van de opgeslagen data naar dashboards of slimme modellen. De gebruikte volgorde bij het klassieke datawarehouse is dus extract-transform-load, afgekort tot ETL.

Binnen nieuwere projecten wordt vaak een andere volgorde van de genoemde taken aangehouden, namelijk ELT:extract-load-transform. Deze verandering komt door schaalvergroting van projecten, waardoor het logischer is om een structuur van een modern datawarehouse te gebruiken. 

Wat is een modern datawarehouse?

Het grootste verschil met klassieke datawarehouses is dat het moderne datawarehouse flexibeler is in het soort data dat opgeslagen kan worden en de schaal waarop deze opslag plaatsvindt. 

Dit is een voorbeeld van een moderne datawarehouse structuur, uitgewerkt in Microsoft Azure. Bron: Microsoft

In een modern datawarehouse wordt ruwe data meteen opgeslagen, ook wel “gestaged”, in een data lake. Deze ruwe data kan in de toekomst eventueel gebruikt worden om tot extra of andere inzichten te komen. Daarnaast worden dezelfde processen toegepast als in het normale ETL-traject, met dus als tussenstap dat de ruwe informatie behouden wordt. Deze verandering is doorgevoerd om twee redenen. Ten eerste wordt het belang van data steeds hoger geschat, waardoor het weggooien hiervan als jammer wordt beschouwd. Ten tweede zijn de kosten sterk gedaald; opslag van data is flink goedkoper geworden. 

Vanuit het moderne datawarehouse is het eenvoudiger om data science toe te passen omdat zowel de verwerkte informatie als de originele data makkelijk toegankelijk zijn.

Waarvoor is data engineering nodig?

Data engineering is noodzakelijk voor het automatiseren en schaalbaar maken van data science-oplossingen. Data engineering komt het meest tot zijn recht op het moment dat oplossingen in productie komen. De data engineer let hierbij op: hoe datastromen binnen komen en wat het verschil is tussen frequente en niet-frequente data. Hierbij focust hij/ zij zich onder meer op de veiligheid, snelheid en schaalbaarheid van de datastromen.

Bij een standaard project richt de data scientist zich op het maken van het beste voorspellingsmodel. De data engineer zorgt er dan voor dat nieuwe data efficiënt en effectief wordt opgenomen in dit model. 

Bij wat voor soort klantvragen speelt data engineering een rol? En op welke manier?

Bij alle vraagstukken waarbij het doel verder gaat dan een proof-of-concept of waarbij grote hoeveelheden data betrokken zijn, is data engineering betrokken. In dat soort klantvragen zal een soort cloud-oplossing noodzakelijk worden. De data science-oplossing loopt dan via een server om ofwel de berekenvragen over grote hoeveelheden data, ofwel het automatische reguliere proceskarakter van een klantvraag, te vervullen.

Een voorbeeld hiervan is een sensor systeem dat eens per minuut een nieuwe waarde publiceert waarover een voorspelling gedaan moet worden wat betreft de correctheid. Een data engineer richt hiervoor de datastroom zo in zodat het systeem geactiveerd wordt wanneer er een nieuwe waarde binnenkomt. (Lees hier meer over het verwerken van sensordata.) Een ander voorbeeld is een klantvraag waarbij data beschikbaar is die gedeeld moet worden met meerdere externe partijen. Hierbij zal een data engineer meedenken over hoe dit op een dynamische manier schaalbaar kan worden gemaakt.  Zo zullen op momenten van grote drukte de systemen online blijven en worden de kosten automatisch verminderd bij een lage vraag. 

Team Engineering

De leden van team engineering denken graag mee over de beste manier om jouw probleem of kans aan te pakken. Momenteel bestaat ons engineering team uit 7 enthousiaste collega’s. Eens doorpraten over de mogelijkheden van een modern datawarehouse? Neem vooral contact met ons op!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *