Det er mye forvirring rundt hva data-engineering er og hva dataingeniører gjør. Selv om aspekter av data engineering har vært til stede helt siden bedrifter begynte å analysere og rapportere data, fikk det betydelig oppmerksomhet med fremveksten av datavitenskap på 2010-tallet.
Data-engineering er en serie operasjoner som har som mål å skape grensesnitt og mekanismer for flyt og tilgang til informasjon. Det krever dedikerte spesialister—dataingeniører—å vedlikeholde data slik at det forblir tilgjengelig og brukbart for andre. Kort sagt, dataingeniører setter opp og driver organisasjonens datainfrastruktur, og forbereder den for videre analyse av dataanalytikere og datavitere.
Fra: Data-Engineering and Its Main Concepts by AlexSoft
For å forstå data-engineering i dag og i fremtiden, er det nødvendig å se på hvordan feltet har utviklet seg over tid.
Data-engineering kan spores tilbake til 1970-tallet, mens datavarehus begynte å dukke opp på slutten av 1980-tallet. Bill Inmon, ofte ansett som pioneren innen datavarehus, introduserte begrepet mellom 1989 og 1990. Samtidig konseptualiserte IBMs Barry Devlin og Paul Murphy det som ble kjent som "business data warehouse." I tillegg sto IBM-ingeniører bak utviklingen av relasjonsdatabasen og Structured Query Language (SQL), med Oracle som spilte en avgjørende rolle i å bringe teknologien til forgrunnen.
Etter hvert som datainfrastrukturer utvidet seg, fikk bedrifter behov for verktøy og data-løyper for rapportering og forretningsanalyse, ofte referert til som "BI" (Business Intelligence). For å hjelpe bedrifter med å nøyaktig utforme sin forretningslogikk innenfor datavarehuset, utformet både Ralph Kimball og Bill Inmon sine unike datamodelleringsmetoder og strategier.
Datavarehus- og BI-ingeniørkunst var en forløper for dagens data engineering, og disse metodene er fortsatt mye brukt i dag. Rundt midten av 1990-tallet førte internettets raske popularitetsøkning til en ny bølge av webbaserte bedrifter som Google, Yahoo og Amazon. Dot-com-bølgen resulterte i en stor økning i dataaktivitet på tvers av webapplikasjoner og backend-systemer. Mange av disse systemene var kostbare, tunge og kom med dyre lisenser. Det er sannsynlig at leverandørene av disse backend-systemene ikke hadde forutsett den enorme datamengden som ville bli generert av webapplikasjoner.
Etter dot-com-boblen sprakk tidlig på 2000-tallet, var det kun et fåtall selskaper som kom uskadd ut av det. Blant disse overlevende utviklet selskaper som Google og Amazon seg til globale teknologigiganter. Likevel fortsatte de en stund med å bruke konvensjonelle relasjonsdatabaser og datavarehus, og presset disse systemene til bristepunktet. Det var behov for en ny tilnærming som kunne håndtere dataveksten på en kostnadseffektiv, skalerbar, tilgjengelig og pålitelig måte. Rimelig maskinvare for kommersiell databehandling ble allment tilgjengelig for massene. Banebrytende fremskritt muliggjorde distribuert databehandling og lagring på tvers av omfattende dataklynger i en skala som aldri før var sett. Disse utviklingene førte til fragmentering og desentralisering av det som en gang var monolittiske tjenester. "Big data"-æraen hadde begynt. I 2003 publiserte Google en artikkel som beskrev Google File System, et filsystem designet for pålitelig og effektiv dataaksess ved bruk av store klynger av rimelig maskinvare. Kort tid etter, i 2004, ble det publisert en artikkel om MapReduce, en svært skalerbar databehandlingsmodell tilpasset kommersiell maskinvare. Selv om begrepet "big data" hadde forløpere i datavarehus og databehandling for eksperimentell fysikk, fungerte Googles avsløringer som et avgjørende øyeblikk for datateknologier. Denne "big bang" effekten banet vei for nye open-source verktøy for "big data", og la grunnlaget for moderne data engineering-praksis slik vi kjenner det i dag.
Open-source-verktøy for big data utviklet seg raskt og spredte seg fra Silicon Valley til globale teknologiselskaper. Disse verktøyene jevnet ut konkurransevilkårene og gjorde det mulig for enhver bedrift å bruke de samme dataverktøyene som ledende teknologigiganter. Deretter markerte overgangen fra batch-behandling til hendelsesstrømming et annet transformativt øyeblikk, som skapte en ny æra med stor "sanntids"-data.
Dataingeniører kunne velge blant det nyeste og beste fra et enormt utvalg av nye teknologier som kom på data-engineering scenen. I dag beveger data seg raskere enn noen gang og vokser i omfang. Etter hvert som "big data" fikk fotfeste og bedrifter ivrig adopterte trenden, kom det ikke uten konsekvenser. Big data fanget fantasien til bedrifter som forsøkte å forstå de stadig voksende datamengdene. Samtidig markedsførte big data-leverandører sine verktøy og tjenester, ofte med overdrevent store løfter om potensialet. Denne overvekten førte til at mange bedrifter implementerte big data-løsninger for relativt små datautfordringer. Det var ikke uvanlig at big data-plattformer behandlet bare noen få gigabyte med data. Oppstyret rundt "big data" avtok etter hvert, men big data forsvant ikke; det gjennomgikk snarere en forenkling.
Data-engineering er i rask forvandling og har utviklet seg til en disiplin som nå handler om å integrere ulike teknologier for å oppnå forretningsmål. I stedet for bare å fokusere på datalagring og -behandling, handler det nå om å bygge sammenhengende økosystemer som knytter sammen data fra forskjellige kilder, analyserer dem i sanntid, og gir virksomheter de nødvendige innsiktene for å ta bedre beslutninger. Dette krever en omfattende forståelse av både teknologier og forretningsstrategier, og det gjør dataingeniører til nøkkelaktører i den digitale transformasjonen som skjer i dag. I løpet av de siste årene, med betydelig abstraksjon og forenkling, er dataingeniører ikke lenger bundet av utdaterte big data-rammeverk. Selv om de fortsatt kan beholde sin ekspertise innen grunnleggende dataprogrammering og bruke den når det er nødvendig, har deres rolle skiftet mot mer kritiske aspekter av verdikjeden. Dette inkluderer sikkerhet, databehandling, dataoperasjoner, dataarkitektur, orkestrering og generell håndtering av datalivssyklusen. Det er en merkbar endring i holdningene blant dataingeniører og selskaper. Nye prosjekter og tjenester fokuserer i økende grad på å administrere og styre data, hvordan man kan gjøre data lettere å bruke og oppdage, samt forbedre datakvaliteten. Dataingeniører jobber nå med å utvikle data-løyper og er opptatt av personvern, anonymisering, datarengjøring og samsvar med regelverk. Datastyring, inkludert datakvalitet og styring, var vanlig i store bedrifter i tiden før big data-æraen, men det var ikke like utbredt i mindre selskaper. Nå har teknologer og entreprenører skiftet fokus tilbake til de store bedriftene, med en vekt på desentralisering og smidighet.
Forskjellen mellom data-engineering og data-science ligger i deres fokus og rolle i databehandlingsprosessen. Data-engineering er ikke en underdisiplin av data-science, men snarere en egen disiplin. Likevel utfyller de hverandre.
Data-engineering handler om å bygge, administrere og optimalisere infrastrukturen som er nødvendig for å samle inn, lagre og behandle data. Dataingeniører sørger for at dataene er tilgjengelige, pålitelige og godt strukturerte, slik at de kan brukes i analyser og maskinlæringsmodeller.
Data-science fokuserer på å analysere dataene, utvikle modeller og bruke maskinlæring for å utlede innsikter, forutsi trender og løse komplekse problemer. Dataforskere bruker dataene til å trekke ut verdifull informasjon som kan støtte beslutningstaking og strategiske initiativer.
Sammen utfyller disse to feltene hverandre ved at dataingeniører legger til rette for dataforskerenes arbeid ved å sikre at dataene er klare for analyse.
Som du kan se, er de forskjellige. Dataingeniører leverer input-data som går oppstrøms, og dataforskere konverterer dataene som kommer nedstrøms, til noe nyttig. Mange dataforskere elsker å bygge og finjustere maskinlæringsmodeller, men realiteten er at de bruker 70 % til 80 % av tiden sin på å jobbe med de tre nederste delene av følgende bilde: Fra: The data science hierarchy of needs De fleste dataforskere bruker kun en brøkdel av tiden sin på analyser og maskinlæring. Enhver bedrift må fokusere på viktigheten av et solid datafundament før de går videre til å jobbe med kunstig intelligens og maskinlæring. Dataforskere er vanligvis ikke opplært til å utvikle datasystemer på produksjonsnivå. Men noen ganger ender de opp med å gjøre dette arbeidet fordi de mangler støtte og ressurser fra en dataingeniør. Ideelt sett bør dataforskere bruke mesteparten av tiden sin på å fokusere på de øverste lagene av pyramiden, og arbeide med analyser, eksperimentering og maskinlæring. Når dataingeniører fokuserer på de nederste delene av hierarkiet, bygger de et solid fundament for at dataforskere skal lykkes. Vi mener at data-engineering er like viktig som data-science, og dataingeniører spiller en ekstremt viktig rolle sammen med dine dataforskere for verdiskapning.Nivået av datakompleksitet innen en bedrift avhenger av bedriftens datamodenhet. Dette påvirker både dataingeniørers og dataforskere sitt daglige arbeid og utvikling. Datamodenhet er progresjonen mot effektiv databruk og kapabiliteter samt integrasjonen på tvers av organisasjonen. Store, veletablerte selskaper kan bli utkonkurrert av oppstartsbedrifter i tidlig fase, da det som virkelig betyr noe er hvordan data utnyttes som en konkurransefordel. En bedrift som nettopp har begynt å jobbe med data, befinner seg per definisjon i de tidlige stadiene av sin datamodenhet. Selskapet kan ha uklare, løst definerte mål eller kanskje ingen mål i det hele tatt. Datateamet er lite, ofte med færre enn ti ansatte. På dette stadiet er det typisk at dataingeniøren og/eller dataforskeren er generalister og spiller flere roller. Selskaper på dette stadiet kan oppnå noe suksess med kunstig intelligens, men det er sjeldent. Uten et solid datafundament vil du mest sannsynlig ikke ha de nødvendige dataene for å trene pålitelige modeller eller kunnskapen til å implementere disse i forretningsbeslutninger. En datadrevet bedrift derimot, er mye mer autonom og styrker både mennesker og forretningen. Det finnes et solid fundament for å introdusere og dra nytte av nye datakilder, og genererte data er tilgjengelige i sanntid for alle i organisasjonen. Samarbeidet er mer effektivt, og selskapet kan bevege seg fremover i et raskere tempo.
Den første typen data engineering er vanligvis SQL-fokusert, der data lagres i tabeller med rader og celler som i et regneark. Den typiske behandlingen gjøres med en relasjonsdatabase. Den andre typen data engineering er fokusert på big data, der man analyserer store mengder data som ofte krever opprydding, interpolering, ekstrapolering, tidsvinduer osv. Behandlingsverktøy for denne typen inkluderer rammeverk som Hadoop, MapReduce, Spark og Flink. Den tredje typen data engineering er flerdimensjonal ingeniørkunst av relasjoner. Dybden av relasjoner kan være massiv og vanskelig å forespørre og kontekstualisere i en typisk relasjonsdatabase. Verktøyet som brukes for å behandle data, er en grafdatabase.
Data-engineering er en faglig yrkestittel som blir stadig mer populær, selv om det har eksistert i lang tid. Data-engineering handler om flytting, transformasjon og håndtering av data. Veksten i databehandling har ført til store fremskritt innen datateknologi og datarelaterte jobber. I dag er dataingeniører blant de mest ettertraktede fagfolkene i teknologisektoren, og etterspørselen øker betydelig hvert år.
Selv om tittelen dataingeniør ikke alltid er like attraktiv som tittelen dataforsker(data-scientist), utgjør arbeidet en dataingeniør gjør faktisk en betydelig del av det arbeidet som utføres av en dataforsker. Forståelig nok vil emner som maskinlæring og kunstig intelligens alltid vinne en popularitetskonkurranse. Likevel stammer en stor del av arbeidet som ligger bak disse konseptene fra data engineering arbeid, som data-mining, datatransformasjon og datavasking, tekstmanipulering, aggregering, kobling av data til andre datasett, og til og med bygging av datastrømningsløyper og maskinlæringløyper. Alle disse ferdighetene er essensielle for en datadrevet bedrift og nødvendige når man bygger maskinlæringsmodeller. Data-engineering kunnskapen er mindre vanlige blant dataforskere, som ofte har en matematisk og statistisk bakgrunn. Dette er grunnen til at dataingeniører og dataforskere sammen utgjør kraftfulle roller og en komplementær kombinasjon.
Kilde: Fundamentals of Data Engineering by Joe Reis and Matt Housley WikipediaData engineering today