De basis voor Data Engineering: robuuste data pipelines

Alles wat je moet weten over data pipelines

  • Artikel
  • Data Engineering
Victor-data-scientist
Victor van den Broek
Data Scientist
4 min
06 Aug 2020

In de basis werken Data Engineers aan data pipelines. Dit zijn data processen die van een bepaalde plek data kunnen halen en het ook weer ergens wegschrijven. In dit artikel lees je meer over de werking van data pipelines en ontdek je waarom ze zo belangrijk zijn voor een robuuste data infrastructuur.

Voor, na, of tijdens data processen willen er wel eens verwerkingsstappen plaatsvinden. Die verwerkingsstappen kunnen eenvoudig zijn, zoals een datum uit een timestamp halen, maar ook complex, zoals een voorspelling uit een data science model toevoegen. Onafhankelijk van wat er precies gebeurt, de basis blijft – er wordt ergens data vandaan gehaald, er vinden bewerkingen plaats en er wordt data ergens weggeschreven. Dit gebeurt via data pipelines.

Data pipelines: de brug tussen systemen

Deze pipelines vormen de basis voor een solide data infrastructuur en ze worden dan ook met enige regelmaat uitgevoerd. Meestal lopen deze pipelines van een bronsysteem naar een data lake of datawarehouse.

Een data lake of datawarehouse is een opslagplek voor data, die niet (direct) door operationele systemen gebruikt wordt. Zo zal een website zijn eigen dataopslag hebben, maar kan het wel interessant zijn voor analysedoeleinden sommige data van die website ergens anders op te slaan. Bijvoorbeeld zodat het gecombineerd kan worden met data uit je CRM of warehouse systeem. Het opbouwen van een data lake of datawarehouse gebeurt door dergelijke data pipelines.

Voorbeeld: een data pipeline voor een webwinkel

Laten we het voorbeeld van de website van een webwinkel aanhouden. Er is interesse om een recommender systeem te ontwikkelen, zodat er relevante artikelen worden aangeboden wanneer een bezoeker naar een ander artikel kijkt.

Om dit systeem te kunnen ontwikkelen, is het nodig dat de logs van de website bruikbaar zijn voor analyse. Om deze logs te kunnen ontsluiten, kan een Data Engineer een pipeline ontwikkelen die bijvoorbeeld één keer per dag alle gegevens van paginabezoeken ophaalt en opslaat in een data lake.

Robuuste data pipelines

Wil je erop kunnen vertrouwen dat je data goed verwerkt wordt? Dan moeten je data pipelines robuust zijn:

Voorbeeld: geen dubbele data

Robuust betekent bijvoorbeeld dat je pipeline makkelijk tweemaal moet kunnen draaien, zonder dat je dan met dubbele data zit, of dat als hij eens niet gedraaid heeft, een volgende keer hij de missende data ophaalt.

Dit is bijvoorbeeld te realiseren door bij te houden tot welk tijdstip er al logfiles zijn opgehaald. Draait de pipeline, dan haalt hij alles op vanaf dat tijdstip. Zo weet je dus dat als je hem nogmaals draait, dat er niet dubbele data opgehaald wordt. Dit kenmerk van een data pipeline wordt ‘idempotent’ genoemd.

Voorbeeld: foutmeldingen

Een ander voorbeeld van robuustheid zit hem in het teruggeven van foutmeldingen; of deze nu technisch van aard zijn of data-inhoudelijk.

Een technische foutmelding kan bijvoorbeeld zijn dat een authenticatie mislukt is – het lukte niet om met een bepaalde username en password een database te benaderen.

Een data-inhoudelijke foutmelding kan zijn dat er bijvoorbeeld veel minder data dan verwacht is opgehaald. 

Een robuuste data infrastructuur

Natuurlijk zijn er nog vele andere mogelijkheden te bedenken over hoe je een pipeline robuust maakt. De manier waarop je dat doet, is door in eerste instantie goed te bedenken wat je wil bereiken – in dit geval het regelmatig ontsluiten van logdata van de website.

Nadat je dat goed hebt gedefinieerd, ga je onderzoeken op welke manieren dit allemaal mis kan gaan, hoe groot het risico daarop is, en wat je er tegen kan doen.

Door zulke controles en risico-beheersende maatregelen op meerdere plekken toe te passen, wordt uiteindelijk de hele data infrastructuur robuust en betrouwbaar.

Advies nodig?

Wil je starten met het opzetten van data pipelines en een data architectuur of zie je ruimte tot verbetering van je huidige architectuur? We denken graag met je mee! Neem direct contact met ons op.

Dit is een artikel van Victor van den Broek, Senior Data Science Engineer, Digital Power

Victor is een ervaren Data Scientist met scherpe business focus. Vanuit zijn ondernemende achtergrond is hij altijd op zoek naar de toepassing van data in je bedrijfsprocessen en hoe je daar maximaal waarde uit kan halen, terwijl de organisatie flexibel en wendbaar blijft.

Victor van den Broek

Data Scientistvictor.vandenbroek@digital-power.com