18 viktig programvare enhver dataforsker bør vite om

Datavitenskap er for alle som elsker å nøste opp sammenfiltrede ting og oppdage skjulte underverk i et tilsynelatende rot.

Det er som å lete etter nåler i høystakker; bare at dataforskere ikke trenger å skitne hendene i det hele tatt. Ved å bruke fancy verktøy med fargerike diagrammer, og se på hauger med tall, dykker de bare ned i datahøystakker og finner verdifulle nåler i form av innsikt med høy forretningsverdi.

En typisk dataforsker Verktøykassen bør inneholde minst ett element av hver av disse kategoriene: relasjonsdatabaser, NoSQL-databaser, rammeverk for store data, visualiseringsverktøy, skrapeverktøy, programmeringsspråk, IDE-er og dyplæringsverktøy.

Relasjonelle databaser

En relasjonsdatabase er en samling av data strukturert i tabeller med attributter. Tabellene kan knyttes til hverandre, definere relasjoner og begrensninger, og lage det som kalles en datamodell. For å jobbe med relasjonsdatabaser bruker du vanligvis et språk kalt SQL (Structured Query Language).

Applikasjonene som administrerer strukturen og dataene i relasjonsdatabaser kalles RDBMS (Relational DataBase Management Systems). Det finnes mange slike applikasjoner, og de mest relevante har nylig begynt å fokusere på datavitenskap, og har lagt til funksjonalitet for å jobbe med store datalagre og for å anvende teknikker som dataanalyse og maskinlæring.

SQL Server

Microsofts RDBMS, har utviklet seg i mer enn 20 år ved konsekvent å utvide bedriftsfunksjonaliteten. Siden 2016-versjonen tilbyr SQL Server en portefølje av tjenester som inkluderer støtte for innebygd R-kode. SQL Server 2017 øker innsatsen ved å gi nytt navn til R Services til Machine Language Services og legge til støtte for Python-språket (mer om disse to språkene nedenfor).

Med disse viktige tilleggene retter SQL Server seg mot dataforskere som kanskje ikke har erfaring med Transact SQL, det opprinnelige søkespråket til Microsoft SQL Server.

SQL Server er langt fra et gratis produkt. Du kan kjøpe lisenser for å installere den på en Windows Server (prisen vil variere i henhold til antall samtidige brukere) eller bruke den som en avgiftsbasert tjeneste, gjennom Microsoft Azure-skyen. Det er enkelt å lære Microsoft SQL Server.

MySQL

På siden med åpen kildekode, MySQL har popularitetskronen til RDBMS-er. Selv om Oracle for tiden eier det, er det fortsatt gratis og åpen kildekode under vilkårene for en GNU General Public License. De fleste nettbaserte applikasjoner bruker MySQL som det underliggende datalageret, takket være samsvar med SQL-standarden.

Dens enkle installasjonsprosedyrer, det store fellesskapet av utviklere, tonnevis av omfattende dokumentasjon og tredjepartsverktøy, som phpMyAdmin, forenkler også daglige administrasjonsaktiviteter som bidrar til populariteten. Selv om MySQL ikke har noen innfødte funksjoner for å gjøre dataanalyse, tillater åpenheten dens integrering med nesten alle visualiserings-, rapporterings- og business intelligence-verktøy du måtte velge.

PostgreSQL

Et annet åpen kildekode RDBMS-alternativ er PostgreSQL. Selv om det ikke er så populært som MySQL, skiller PostgreSQL seg ut for sin fleksibilitet og utvidbarhet, og sin støtte for komplekse spørringer, de som går utover de grunnleggende setningene som SELECT, WHERE og GROUP BY.

Disse funksjonene lar den bli populær blant dataforskere. En annen interessant funksjon er støtten for multimiljøer, som gjør at den kan brukes i sky- og lokale miljøer, eller i en blanding av begge, ofte kjent som hybride skymiljøer.

PostgreSQL er i stand til å kombinere online analytisk prosessering (OLAP) med online transaksjonsbehandling (OLTP), og fungerer i en modus kalt hybrid transaksjonell/analytisk prosessering (HTAP). Den er også godt egnet til å jobbe med big data, takket være tillegg av PostGIS for geografiske data og JSON-B for dokumenter. PostgreSQL støtter også ustrukturerte data, som gjør det mulig å være i begge kategorier: SQL- og NoSQL-databaser.

NoSQL-databaser

Også kjent som ikke-relasjonelle databaser, gir denne typen datalager raskere tilgang til ikke-tabellformede datastrukturer. Noen eksempler på disse strukturene er grafer, dokumenter, brede kolonner, nøkkelverdier, blant mange andre. NoSQL-datalagre kan legge til side datakonsistens til fordel for andre fordeler, som tilgjengelighet, partisjonering og tilgangshastighet.

Siden det ikke er SQL i NoSQL-datalagre, er den eneste måten å forespørre denne typen database på ved å bruke lavnivåspråk, og det er ikke noe slikt språk som er like allment akseptert som SQL. Dessuten er det ingen standardspesifikasjoner for NoSQL. Det er derfor, ironisk nok, noen NoSQL-databaser begynner å legge til støtte for SQL-skript.

  8 beste MIB-nettlesere for å administrere SNMP-enheter i 2022

MongoDB

MongoDB er et populært NoSQL-databasesystem, som lagrer data i form av JSON-dokumenter. Fokuset er på skalerbarheten og fleksibiliteten til å lagre data på en ikke-strukturert måte. Dette betyr at det ikke er noen fast feltliste som må følges i alle de lagrede elementene. Videre kan datastrukturen endres over tid, noe som i en relasjonsdatabase innebærer høy risiko for å påvirke kjørende applikasjoner.

Teknologien i MongoDB tillater indeksering, ad-hoc-spørringer og aggregering som gir et sterkt grunnlag for dataanalyse. Den distribuerte naturen til databasen gir høy tilgjengelighet, skalering og geografisk distribusjon uten behov for sofistikerte verktøy.

Redis

Dette ett er et annet alternativ i åpen kildekode, NoSQL-fronten. Det er i utgangspunktet et datastrukturlager som opererer i minnet, og i tillegg til å tilby databasetjenester, fungerer det også som bufferminne og meldingsmegler.

Den støtter en myriade av ukonvensjonelle datastrukturer, inkludert hasher, geospatiale indekser, lister og sorterte sett. Den er godt egnet for datavitenskap takket være dens høye ytelse i dataintensive oppgaver, for eksempel datasettkryss, sortering av lange lister eller generering av komplekse rangeringer. Årsaken til Redis» enestående ytelse er driften i minnet. Den kan konfigureres til å vedvare dataene selektivt.

Big Data-rammeverk

Anta at du må analysere dataene Facebook-brukere genererer i løpet av en måned. Vi snakker om bilder, videoer, meldinger, alt sammen. Med tanke på at mer enn 500 terabyte med data legges til det sosiale nettverket hver dag av brukerne, er det vanskelig å måle volumet representert av en hel måned av dataene.

For å manipulere den enorme mengden data på en effektiv måte, trenger du et passende rammeverk som er i stand til å beregne statistikk over en distribuert arkitektur. Det er to av rammeverkene som leder markedet: Hadoop og Spark.

Hadoop

Som et rammeverk for store data, Hadoop omhandler kompleksiteten knyttet til henting, behandling og lagring av enorme hauger med data. Hadoop opererer i et distribuert miljø, sammensatt av dataklynger som behandler enkle algoritmer. Det er en orkestreringsalgoritme, kalt MapReduce, som deler store oppgaver inn i små deler, og deretter distribuerer de små oppgavene mellom tilgjengelige klynger.

Hadoop anbefales for datalager i bedriftsklassen som krever rask tilgang og høy tilgjengelighet, alt dette i et lavkostskjema. Men du trenger en Linux-administrator med dyp Hadoop kunnskap å holde rammene oppe og kjøre.

Gnist

Hadoop er ikke det eneste rammeverket som er tilgjengelig for big data-manipulering. Et annet stort navn i dette området er Gnist. Spark-motoren ble designet for å overgå Hadoop når det gjelder analysehastighet og brukervennlighet. Tilsynelatende oppnådde den dette målet: noen sammenligninger sier at Spark kjører opptil 10 ganger raskere enn Hadoop når du arbeider på en disk, og 100 ganger raskere drift i minnet. Det krever også et mindre antall maskiner for å behandle samme mengde data.

Foruten hastighet, er en annen fordel med Spark støtten for strømbehandling. Denne typen databehandling, også kalt sanntidsbehandling, innebærer kontinuerlig input og output av data.

Visualiseringsverktøy

En vanlig vits mellom dataforskere sier at hvis du torturerer dataene lenge nok, vil de innrømme det du trenger å vite. I dette tilfellet betyr «tortur» å manipulere dataene ved å transformere og filtrere dem, for å visualisere dem bedre. Og det er her datavisualiseringsverktøy kommer til scenen. Disse verktøyene tar forhåndsbehandlede data fra flere kilder og viser de avslørte sannhetene i grafiske, forståelige former.

Det er hundrevis av verktøy som faller inn i denne kategorien. Liker det eller ikke, den mest brukte er Microsoft Excel og dets kartverktøy. Excel-diagrammer er tilgjengelige for alle som bruker Excel, men de har begrenset funksjonalitet. Det samme gjelder andre regnearkapplikasjoner, som Google Sheets og Libre Office. Men vi snakker her om mer spesifikke verktøy, spesielt skreddersydd for business intelligence (BI) og dataanalyse.

Power BI

For ikke lenge siden lanserte Microsoft sin Power BI visualiseringsapplikasjon. Den kan ta data fra forskjellige kilder, for eksempel tekstfiler, databaser, regneark og mange elektroniske datatjenester, inkludert Facebook og Twitter, og bruke den til å generere dashbord fullpakket med diagrammer, tabeller, kart og mange andre visualiseringsobjekter. Instrumentbordobjektene er interaktive, noe som betyr at du kan klikke på en dataserie i et diagram for å velge den og bruke den som et filter for de andre objektene på tavlen.

  Hvordan fikse DisplayPort til HDMI-adapter som ikke fungerer

Power BI er en kombinasjon av en Windows-skrivebordsapplikasjon (del av Office 365-pakken), en nettapplikasjon og en nettjeneste for å publisere dashbordene på nettet og dele dem med brukerne dine. Tjenesten lar deg opprette og administrere tillatelser for å gi tilgang til styrene kun til bestemte personer.

Tablå

Tablå er et annet alternativ for å lage interaktive instrumentbord fra en kombinasjon av flere datakilder. Den tilbyr også en skrivebordsversjon, en nettversjon og en nettjeneste for å dele dashbordene du oppretter. Den fungerer naturlig «med måten du tenker på» (som den hevder), og den er enkel å bruke for ikke-tekniske personer, som er forbedret gjennom mange opplæringsprogrammer og nettvideoer.

Noen av Tableaus mest fremragende funksjoner er dens ubegrensede datatilkoblinger, livedata og data i minnet og mobiloptimaliserte design.

QlikView

QlikView tilbyr et rent og enkelt brukergrensesnitt for å hjelpe analytikere med å oppdage ny innsikt fra eksisterende data gjennom visuelle elementer som er lett forståelige for alle.

Dette verktøyet er kjent for å være en av de mest fleksible business intelligence-plattformene. Den har en funksjon kalt Associative Search, som hjelper deg med å fokusere på de viktigste dataene, og sparer deg for tiden det vil ta å finne dem på egen hånd.

Med QlikView kan du samarbeide med partnere i sanntid og gjøre sammenlignende analyser. Alle relevante data kan kombineres til én app, med sikkerhetsfunksjoner som begrenser tilgangen til dataene.

Skrapeverktøy

I tidene da internett nettopp dukket opp, begynte webcrawlerne å reise sammen med nettverkene og samle informasjon på deres måte. Etter hvert som teknologien utviklet seg, endret begrepet webcrawling seg for web-skraping, men betyr fortsatt det samme: å automatisk trekke ut informasjon fra nettsteder. For å gjøre nettskraping bruker du automatiserte prosesser, eller roboter, som hopper fra en nettside til en annen, trekker ut data fra dem og eksporterer den til forskjellige formater eller setter den inn i databaser for videre analyse.

Nedenfor oppsummerer vi egenskapene til tre av de mest populære nettskraperne som er tilgjengelige i dag.

Octoparse

Octoparse web scraper tilbyr noen interessante egenskaper, inkludert innebygde verktøy for å få informasjon fra nettsteder som ikke gjør det enkelt for scraping-roboter å gjøre jobben sin. Det er en skrivebordsapplikasjon som ikke krever noen koding, med et brukervennlig brukergrensesnitt som gjør det mulig å visualisere utvinningsprosessen gjennom en grafisk arbeidsflytdesigner.

Sammen med den frittstående applikasjonen tilbyr Octoparse en skybasert tjeneste for å øke hastigheten på datautvinningsprosessen. Brukere kan oppleve en 4x til 10x hastighetsøkning når de bruker skytjenesten i stedet for skrivebordsapplikasjonen. Hvis du holder deg til skrivebordsversjonen, kan du bruke Octoparse gratis. Men hvis du foretrekker å bruke skytjenesten, må du velge en av dens betalte planer.

Innholdsgrabber

Hvis du leter etter et funksjonsrikt skrapeverktøy, bør du ta et øye med Innholdsgrabber. I motsetning til Octoparse, for å bruke Content Grabber, er det nødvendig å ha avanserte programmeringsferdigheter. I bytte får du skriptredigering, feilsøkingsgrensesnitt og andre avanserte funksjoner. Med Content Grabber kan du bruke .Net-språk til å skrive regulære uttrykk. På denne måten slipper du å generere uttrykkene ved hjelp av et innebygd verktøy.

Verktøyet tilbyr et API (Application Programming Interface) som du kan bruke til å legge til skrapingfunksjoner til skrivebordet og nettapplikasjonene dine. For å bruke denne API-en, må utviklere få tilgang til Content Grabber Windows-tjenesten.

ParseHub

Denne skrapen kan håndtere en omfattende liste over forskjellige typer innhold, inkludert fora, nestede kommentarer, kalendere og kart. Den kan også håndtere sider som inneholder autentisering, Javascript, Ajax og mer. ParseHub kan brukes som en nettapp eller et skrivebordsprogram som kan kjøres på Windows, macOS X og Linux.

I likhet med Content Grabber, anbefales det å ha litt programmeringskunnskap for å få mest mulig ut av ParseHub. Den har en gratisversjon, begrenset til 5 prosjekter, og 200 sider per kjøring.

Programmerings språk

Akkurat som det tidligere nevnte SQL-språket er utviklet spesifikt for å fungere med relasjonsdatabaser, finnes det andre språk som er laget med et tydelig fokus på datavitenskap. Disse språkene lar utviklerne skrive programmer som omhandler massiv dataanalyse, som statistikk og maskinlæring.

  Beste Privileged Access Management (PAM)-løsninger i 2022

SQL regnes også som en viktig ferdighet som utviklere bør ha for å gjøre datavitenskap, men det er fordi de fleste organisasjoner fortsatt har mye data på relasjonsdatabaser. «Ekte» datavitenskapelige språk er R og Python.

Python

Python er et høynivå, tolket, generell programmeringsspråk, godt egnet for rask applikasjonsutvikling. Den har en enkel og lett å lære syntaks som gir en bratt læringskurve og reduserer kostnadene for programvedlikehold. Det er mange grunner til at det er det foretrukne språket for datavitenskap. For å nevne noen: skriptpotensial, detaljerthet, portabilitet og ytelse.

Dette språket er et godt utgangspunkt for dataforskere som planlegger å eksperimentere mye før de hopper inn i det virkelige og harde dataknusingsarbeidet, og som ønsker å utvikle komplette applikasjoner.

R

De R språk brukes hovedsakelig til statistisk databehandling og grafer. Selv om det ikke er ment å utvikle fullverdige applikasjoner, som tilfellet ville vært for Python, har R blitt veldig populær de siste årene på grunn av potensialet for datautvinning og dataanalyse.

Takket være et stadig voksende bibliotek med fritt tilgjengelige pakker som utvider funksjonaliteten, er R i stand til å utføre alle typer data-knusing, inkludert lineær/ikke-lineær modellering, klassifisering, statistiske tester, etc.

Det er ikke et lett språk å lære, men når du først har blitt kjent med filosofien, vil du drive med statistisk databehandling som en proff.

IDE-er

Hvis du seriøst vurderer å dedikere deg til datavitenskap, må du nøye velge et integrert utviklingsmiljø (IDE) som passer dine behov, fordi du og din IDE vil bruke mye tid på å jobbe sammen.

En ideell IDE bør sette sammen alle verktøyene du trenger i ditt daglige arbeid som en koder: et tekstredigeringsprogram med syntaksutheving og autofullføring, en kraftig debugger, en objektleser og enkel tilgang til eksterne verktøy. Dessuten må det være kompatibelt med språket du foretrekker, så det er en god idé å velge IDE etter å ha visst hvilket språk du vil bruke.

Spyder

Dette generisk IDE er for det meste ment for forskere og analytikere som også trenger å kode. For å gjøre dem komfortable, begrenser den seg ikke til IDE-funksjonaliteten – den gir også verktøy for datautforskning/visualisering og interaktiv utførelse, som kan finnes på en vitenskapelig pakke. Redaktøren i Spyder støtter flere språk og legger til en klasseleser, vindusdeling, hopp-til-definisjon, automatisk kodefullføring og til og med et kodeanalyseverktøy.

Debuggeren hjelper deg å spore hver linje med kode interaktivt, og en profiler hjelper deg med å finne og eliminere ineffektivitet.

PyCharm

Hvis du programmerer i Python, er sjansen stor for at den valgte IDE vil være det PyCharm. Den har en smart koderedigerer med smart søk, kodefullføring og feildeteksjon og retting. Med bare ett klikk kan du hoppe fra kodeeditoren til et hvilket som helst kontekstrelatert vindu, inkludert test, supermetode, implementering, erklæring og mer. PyCharm støtter Anaconda og mange vitenskapelige pakker, som NumPy og Matplotlib, for bare å nevne to av dem.

Den tilbyr integrasjon med de viktigste versjonskontrollsystemene, og også med en testløper, en profiler og en debugger. For å avslutte avtalen, integreres den også med Docker og Vagrant for å sørge for utvikling på tvers av plattformer og containerisering.

RStudio

For de dataforskerne som foretrekker R-teamet, bør IDE-valget være RStudio, på grunn av dens mange funksjoner. Du kan installere det på et skrivebord med Windows, macOS eller Linux, eller du kan kjøre det fra en nettleser hvis du ikke vil installere det lokalt. Begge versjonene tilbyr godbiter som syntaksutheving, smart innrykk og kodefullføring. Det er en integrert datavisning som kommer godt med når du trenger å bla gjennom tabelldata.

Feilsøkingsmodusen lar deg se hvordan dataene oppdateres dynamisk når du kjører et program eller skript trinn for trinn. For versjonskontroll integrerer RStudio støtte for SVN og Git. Et fint pluss er en mulighet til å skrive interaktiv grafikk, med skinnende og gir biblioteker.

Din personlige verktøykasse

På dette tidspunktet bør du ha en fullstendig oversikt over verktøyene du bør kunne for å utmerke deg innen datavitenskap. Vi håper også at vi ga deg nok informasjon til å avgjøre hvilket som er det mest praktiske alternativet innenfor hver verktøykategori. Nå er det opp til deg. Datavitenskap er et blomstrende felt utvikle en karriere. Men hvis du ønsker å gjøre det, må du følge med på endringene i trender og teknologier, siden de skjer nesten på daglig basis.