Intro til prosjektdatabasen #1: Hvordan vi kom hit

Publisert 2019-08-26. Skrevet av Teodor Heggelund.

Dette er artikkel #1 i artikkelserien “Intro til prosjektdatabasen”.

Behandling av data i ingeniørprosjekter begrenser kvaliteten vi levere og farten vi kan holde. Jeg lanserer Prosjektdatabase.no for å integrere digitale verktøy i prosjekter.

Grensesjiktet mellom ingeniørfag og informasjonsteknologi en herlig match mellom utfordringer og verktøy: ingeniørfag gir noen av de viktigste og mest spennende utfordringene samfunnet vårt står overfor, og informasjonsteknologi gir oss mulighet til å bygge verktøyene vi bruker. Ingeniørfag bruker aktivt fysikk og mekanikk i objektive modeller som behandles med data, og programmering er det beste verktøyet vi har for å behandle data.

Og programmering er på full fart inn i ingeniørfag. I Statens Vegvesens konseptstudie av Bjørnafjorden er analyseløpet basert på programmering. Hvorfor? Det korte svaret er at uten programmering ville prosjektet måtte gjort grove forenklinger i analysene for å i det hele tatt bli ferdig. Så programmering er en integrert del, og de fleste som gjør analysearbeid tar i nok Python til at den kan få inn og ut den dataen de trenger.

Digital transformasjon trenger imidlertid mer enn programmering. Programmering er aktivt, programmering gjør noe. Og det programmering gjør er å transformere og flytte data. Så hvor skal dataen være mellom transformasjonene vi gjør? Det adresserer vi med datamodellering. Datamodellering handler om å bygge gode datamodeller. Når vi modellerer data, beslutter vi hvilken data som hører sammen (hvilke data som utgjør en entitet) og hvordan vi skal finne igjen dataen vår (hvordan indeksen vår ser ut). Telefonkatalogen er et kjent eksempel. Entitenene våre er personer (med addresse, navn og telefonnummer) og bedrifter (med navn, addresse, telefonnummer, forretningsområde og kanskje åpningstider). Indeks for personer er ofte etternavn, mens indeks for bedrift kan være navn eller forretningsområde.

I prosessen med digitalisering av ingeniørprosjekter har digitalisering ligget etter programmering. Og det er helt naturlig. Programmering kan tas i bruk for å løse småting, og la deg løse oppgaven en gang. Når vi programmerer, må vi også modellere dataen vi bruker, uten at denne oppgaven er noe vi har tenkt videre på. Vi ender gjerne opp med litt forskjellige datamodeller rundt i prosjektet. Noen trenger noe data, og noen trenger annen data. Og noe må deles. Så vi sender data rundt omkring. Da må vi også adressere hvordan vi sender dataen rundt, og hvilket format denne er på.

Dette problemet ble identifisert innen systemutvikling på 60-tallet, som så de første databasene. Siden tilgjengelig datakraft var svært begrenset, var databasesystemet preget av optimalisering for maskinell effektivitet. Med raskere maskinvare på 70-tallet, fikk vi relasjonelle databaser, som heller er laget for å være fornuftige å bruke. Du kan spørre om hvilken data du vil ha ut, og senere optimalisere for fart. 70-tallet ga oss også et språk for å spørre om data fra databaser: SQL. SQL står for Structured Query Language, og lar oss hente ut og legge inn data i databasen. Ett av SQL-databasesystemene som ble utviklet på 70-tallet er INGRES, som ble utviklet blant andre av Michael Stonebraker, som på 90-tallet gikk videre til å utvikle PostgreSQL, tidligere kalt Postgres, fra post-INGRES. PostgreSQL er i et bunnsolid databasevalg for helt enkle anvendelser, og skalerer opp til massive datamenger.

Så ingeniørprosjekter har startet digitalisering gjennom programmering og automatisering, men databaser er ikke i bruk. Hvorfor? Slik jeg ser det, er det tre grunner:

  1. Oppgaver defineres med begrensninger rundt databehandling. Tradisjonelt; her må det leveres en rapport fra et team til et annet.
  2. Kompetanse på datamodellering og databasebruk. Det er ikke gitt at du kan bruke databaser selv om du kan programmere.
  3. Kompetanse og organisasjonsstruktur for drift av en database. Hvordan unngår man datatap? Hvordan skal man kjøre databasen? Hvem er ansvarlig for backup?

Vil du bruke data mer effektivt i ditt prosjekt? Kom i gang med Prosjektdatabase.no.

Teodor

~

Du har nå lest artikkel 1 i artikkelserien “Intro til prosjektdatabasen”. Les videre i artikkel #2.


Har du en kommentar? Bare , og bruk pilen øverst til høyre til å lage en generell kommentar. For å kommentere på en spesifikk frase, marker teksten, og trykk "Annotate". Mer informasjon om kommentarsystemet er tilgjengelig på engelsk i artikkelen Commentary with Hypothesis.