sql >> Database teknologi >  >> RDS >> Database

Anatomi af en softwareudviklingsrolle:Dataforsker

For 12 år siden, da jeg skrev de første artikler til "Cracking the Code:Breaking Down the Software Development Rolles", traf jeg en bevidst og måske kontroversiel beslutning om ikke at inkludere databaseadministratoren eller en databasearkitekt som en del af rollerne. Beslutningen blev truffet, fordi der var få organisationer, der beskæftigede sig med omfanget af data, der krævede denne dedikerede rolle i softwareudviklingsprocessen. Løsningsarkitekten kunne tage sig af organisationens behov for at designe datastrukturen som en del af deres overordnede rolle. Dog er dataverdenen blevet større siden da.

Big Data

I dag står vi over for mere volumen, større hastighed og dynamisk variation af de datakilder, som vi behandler. Vi taler ikke om de typiske relationsdatabaser, der har været populære i årtier. Udvidelsen af ​​data kræver et sæt af teknikker og færdigheder, der er ulig de historiske tilgange til data, som vi har brugt.

Multithreading af vores behandling af data er en forbedring af de single threading-tilgange til databehandling, som populariserede databehandling i 1980'erne; Men selv disse tilgange, som er afhængige af en enkelt computer med flere udførelsestråde, går i stykker, når mængden af ​​behandling, der er nødvendig for at udtrække mening, overstiger kapaciteten af ​​en enkelt maskine.

The Rise of Service-based Computing

I 1999 kunne brugere derhjemme donere deres ekstra computercyklusser på deres computere til formålet med at finde udenjordisk intelligens gennem projektet [email protected], der blev kørt gennem UC Berkeley. Dette var ikke den første brug af udbredt computing eller grid computing, men det er projektet, der fangede fantasien hos internetbrugere overalt. Pludselig havde de muligheden for at være dem, der fandt "ET." I konstruktionen distribuerede projektet enorme mængder data til behandling til mange computere, som udførte beregninger på dataene for at se, om der var interessante bits, der sandsynligvis ikke kun var baggrundsstøj. [email protected] var blot et af de distribuerede computerprojekter, der gjorde opmærksom på den slags problemer, hvor en enkelt computer ikke ville være nok.

IBM, Microsoft og andre tilbyder nu computer- og maskinlæringstjenester for at hjælpe organisationer med at klare de data, de fanger, og give mening ud af det, så de ikke behøver at mobilisere en hær af engagerede frivillige. Platformene sigter mod at give den computerkraft og den maskinlæring, der er nødvendig for at udtrække den information, der er gemt i datamængderne. I stedet for at organisationer skal bygge og implementere deres egne datacentre med dedikerede computerressourcer, er ressourcerne til at omdanne data til information og mening tilgængelige til leje.

Det handler ikke om data, det handler om indsigter

Selvom mængden af ​​data, vi fanger, er svimlende, er det ikke dataene, der er interessante. Det interessante er, hvad dataene kan fortælle dig - hvis du er i stand til at analysere dem. De individuelle aflæsninger af en motors ydeevne er ikke vigtige, men evnen til at forudsige, hvornår motoren har brug for vedligeholdelse eller sandsynligvis vil fejle -det er vigtigt.

Dataforskere er ikke fokuseret på datalagring, som dataarkitekterne og databaseadministratorerne var. I stedet er de fokuseret på konvertering af data til information og i sidste ende indsigt, som virksomheden kan bruge til at træffe bedre beslutninger. Det betyder, at man leder efter nye tilgange til at analysere dataene på måder, der afslører interessant indsigt, som virksomheden kan bruge til sin fordel.

Stå på sæt og statistik

Den traditionelle softwareudviklingsprocession er bekendt med en proceduremæssig tilgang til at løse problemer. Udviklere, ledere og arkitekter er veluddannede i metoderne og fordelene ved proceduremæssig konstruktion. Procedurelle tilgange er som automatisering af en utrolig pligtopfyldende, men ikke original arbejder. Computeren får at vide, hvilke trin (proceduren) den skal udføre i hvilken rækkefølge og under hvilke betingelser den skal gentage operationen eller opdeles mellem flere stier. Dataforskere arbejder dog ikke kun med proceduremæssige tilgange, men også med sætbaseret logik. Tænkestilen adskiller sig, fordi den leder efter huller og skæringspunkter. Det fungerer baseret på lighed og ulighedsforhold mellem forskellige informationssæt.

Selvom nogle udviklere har stødt på sæt-baseret logik i deres arbejde, skal dataforskere være komfortable og flydende i deres evne til at manipulere informationssæt.

Derudover, i modsætning til andre roller i softwareudviklingens livscyklus, har dataforskeren brug for en specialiseret færdighed uden for softwareudviklingens område. Fordi datavidenskabsmænd leder efter indsigt om sammenhænge mellem forskellige datastykker, har de brug for et solidt fundament i statistik for at kunne lede efter og generere statistiske værdier som korrelation for at besvare de spørgsmål, de stiller, og finde upræcise sammenhænge mellem forskellige datasæt.

Hvor er positionen på vej hen?

Væksten i data har nået vendepunktet. Uanset om det er sociale netværksanalyser, klikhistorik eller købsdata, ser organisationer reel forretningsværdi i de data, der er låst inde i deres databaser, og dataforskere er nøglen til at frigøre disse datas potentiale.

At fange denne værdi betyder at ansætte de mennesker, der har færdighederne til at forbinde behandlingsalgoritmerne med dataene og udnytte computerkraften til at skabe disse resultater.

De gode, de dårlige og de grimme

Datavidenskab eksploderer lige nu med fremkomsten af ​​Internet of Things-enheder, der optager alle slags data fra alle mulige steder. Det betyder store muligheder – og mere end et par udfordringer. Her er blot nogle få af disse udfordringer:

  • Godt: Der er stor mulighed for at finde nye måder at udtrække indsigt fra data.
  • Godt: Computer- og lagerressourcer kan købes i store mængder.
  • Godt: Dataforskere er efterspurgt og vil sandsynligvis forblive det i nogen tid.
  • Dårlig: Efterhånden som algoritmer og tilgange udvikler sig, vil du altid føle dig forældet.
  • Dårlig: Alle data har behov for oprydning, og en betydelig del af tiden vil blive brugt på dette arbejde.
  • grimt: Prøv og fejl vil betyde masser af "fejl" og få triumfer.

Som konklusion

Rollen Data Scientist har et hurtigt voksende behov og et andet sæt færdigheder. Hvis du elskede din statistiktime og elsker at finde mønstre, som andre mennesker ikke kan se, er dette måske det rigtige for dig.


  1. Find det refererede tabelnavn ved hjælp af tabel-, felt- og skemanavn

  2. Batch-tilstand normalisering og ydeevne

  3. Proaktiv PostgreSQL-overvågning (udviklerstudie/rådgivervinkel)

  4. Betyder rækkefølgen af ​​tabeller i en joinforbindelse, når LEFT (ydre) joins bruges?