Data engineering is het aspect van data science dat zich richt op praktische toepassingen van gegevensverzameling en -analyse. Data scientists moeten vragen beantwoorden met behulp van grote hoeveelheden informatie. Daarom moeten er mechanismen zijn om die informatie te verzamelen en te valideren.
Om dat werk uiteindelijk enige waarde te laten hebben, moeten er ook mechanismen zijn om dit toe te passen op echte operaties. Dat zijn beide ingenieurs taken: het toepassen van wetenschap op praktische, functionerende systemen.
Data engineers richten zich op de toepassingen en het oogsten van big data. Hun rol omvat niet veel analyse of experimenteel ontwerp. In plaats daarvan zijn ze daar waar het rubber de weg ontmoet (letterlijk, in het geval van zelfrijdende voertuigen). Daarnaast creëren ze interfaces en mechanismen voor de stroom en toegang van informatie.
Ze kunnen experts zijn in:
Data engineers krijgen niet altijd de eer om tot gekke inzichten te komen door big data-bronnen te bevragen en te combineren. Maar toch is hun werk belangrijk bij het bouwen van de data stores die daarbij worden gebruikt. En ook bij het nemen van die inzichten en het praktisch toepassen ervan.
Meer dan enige andere professional die in data science werkt, moeten data-ingenieurs hands-on zijn met de tools van het vak. Een data-engineer wiens cv niet doorspekt is met verwijzingen naar Hive, Hadoop, Spark, NoSQL of andere hightech tools voor gegevensopslag en -manipulatie, is waarschijnlijk niet zo'n data engineer.
Maar hoe belangrijk bekendheid met de technische tools ook is, de concepten van data-architectuur en pijplijn-ontwerp zijn nog belangrijker.
De tools zijn waardeloos zonder een solide conceptueel begrip van:
Data-engineering lijkt in veel opzichten sterk op software-engineering. Beginnend met een concreet doel, krijgen data-ingenieurs de taak om functionele systemen samen te stellen om dat doel te realiseren.
Data engineering is recentelijk prominent geworden door ondernemingen in autonoom voertuigontwerp. Servo's en feitelijke besturingsmechanismen voor zelfrijdende auto's zijn relatief eenvoudig te installeren en configureren.
De moeilijkheid ligt bij het bouwen van een autonome auto in het dupliceren van de tientallen beslissingen die elke seconde worden genomen tijdens het gebruik van die bedieningselementen:
Dit zijn allemaal inherent datagedreven beslissingen. Data scientisten bedenken de mooie algoritmen die een kaart opsplitsen met behulp van AI. En ze ontwerpen machine learning-technieken om het voertuig te trainen hoe een fietser er vanuit elke hoek uitziet.
Maar data-ingenieurs zijn verantwoordelijk voor het creëren van de systemen om de sensorinformatie op te nemen van GPS, LIDAR, camera's en bewegingsapparatuur. Daarnaast zijn ze verantwoordelijk voor het verwerken en omzetten in acties voor het stuur, het gas en de remmen van het voertuig.
Natuurlijk heeft data engineering ook veel toepassingen buiten autonome voertuigen. Zoals het grootste deel van het vakgebied data science, wordt de rol van data engineering nog steeds gedefinieerd. Deze kan verschillende aspecten van het werk bij verschillende organisaties omvatten.
Data engineers kunnen verantwoordelijk zijn voor:
In organisaties met grote hoeveelheden data (big data), met name uit verschillende bronnen, komt dit vaak neer op het bouwen en vullen van een datawarehouse.
Een datawarehouse is een centrale opslagplaats van bedrijfs- en operationele gegevens. Dit kan worden gebruikt voor grootschalige datamining, analyse en rapportagedoeleinden. Met het datawarehouse kunnen veel verschillende gegevensbronnen en opslagplaatsen worden gecombineerd tot één handige tool voor data scientisten en zakelijke gebruikers om te raadplegen.
Het proces van het bouwen van deze bron omvat echter meestal een aantal belangrijke extractie-, transformatie- en laadbewerkingen (ETL, in het spraakgebruik van de industrie). Hierbij worden gegevens uit de bron databases genomen en opnieuw geformatteerd voor opname in het magazijn.
Het ontwerp en de codering van de processen achter de ETL-operatie zijn meestal de verantwoordelijkheid van data-ingenieurs.
Net als de automatisering worden deze stappen meestal tegelijkertijd gemaakt om te zorgen voor een continue data-pijplijn die kan functioneren zonder menselijke tussenkomst.
De organische groei van database-ondersteuningssystemen in moderne bedrijven heeft het ontwerpen en bouwen van functionele datawarehouses inderdaad tot een ingewikkeld bedrijf gemaakt. Data-ingenieurs zijn de experts waar bedrijven naartoe gaan als het tijd is om te ontdekken hoe ze verkoopgegevens uit een database kunnen krijgen. Bijvoorbeeld om te praten met inventaris-records die worden bewaard in een SQL Server-cluster.
Het is ook de verantwoordelijkheid van data engineers om deze operaties te beheren en te optimaliseren. Enig begrip van de onderliggende server hardware is vaak nuttig, naast een deskundige kennis van de database software zelf.
Data engineers kunnen ook worden gevraagd om dataservices te maken die andere gebruikers kunnen gebruiken. Deze pijplijnen lopen in de tegenovergestelde richting van die welke informatie naar het datawarehouse brengen. In plaats daarvan zijn het algemene API's (Application Programming Interfaces) die consistente toegang mechanismen bieden voor backend-gegevensopslag.
In wezen schrijven data engineers vertalers voor hun datastores. Deze gebruiken een consistente taal voor toegang tot informatie, zelfs als de stores zelf aanzienlijk verschillen.
Data-ingenieurs hebben net zoveel opleiding nodig voor hun functie als een data scientist.
In plaats van informatietheorie op hoog niveau en geavanceerde analytische vaardigheden, richten data-ingenieurs zich meer op leren:
Hoewel ze gewoonlijk reguliere master programma's voor data science doorlopen, zullen data-ingenieurs keuzevakken volgen die meer gericht zijn op programmeervaardigheden en tools voor gegevensopslag en -manipulatie.
Het is zijn passie om zijn kennis op een eenvoudige en positieve manier te doceren aan zijn studenten.