Datalasting, eller bare lasting, er en prosess innen databehandling hvor data flyttes mellom to systemer slik at de ender opp i en landingssone (staging area) på målsystemet.
Med den tradisjonelle metoden uttrekk, transformasjon og lasting (ETL) er lastejobben det siste steget, og dataene som lastes er transformerte. Med den alternative metoden uttrekk, lasting og transformasjon (ELT) er lastejobben det mellomste steget, og de tranformerte dataene lastes i sitt opprinnelige format for datatransformasjon i målsystemet.
Tradisjonelt har lastejobber på store systemer tatt lang tid, og har for eksempel kjørt på nattestid utenfor en virksomhets åpningstider.
Formål
To hovedmål med datalasting er å oppnå ferskere data i systemene etter lasting og at lastingen er rask slik at dataene kan oppdateres ofte. Ved fullstendig dataoppdatering kan man oppnå raskere lasting ved å slå av referanseintegritet, sekundærindekser og logging, men dette er vanligvis ikke tillatt med inkrementell lastingeller vedlikeholdsmating.
Typer
Datalasting kan gjøres enten ved fullstendig dataoppdatering (umiddelbar), inkrementell lastning og oppdatering (umiddelbar), eller vedlikeholdsmating (utsatt). Valg av teknikk kan avhenge av mengden data som oppdateres, endres eller legges til, og hvor oppdaterte dataene må være.
Fullstendig dataoppdatering
Fullstendig dataoppdatering (full data refresh) innebærer at det først slettes eksisterende data i måltabellen. Deretter lastes all data fra kilden til måltabellen, det opprettes nye indekser i måltabellen, og det kalkuleres nye målinger for den oppdaterte tabellen. Fullstendig oppdatering er enkel å implementere, men innebærer mye flytting av data hvilket kan ta lang tid,[1] og kan gjøre det vanskelig å ta vare på historikk.[2]
Inkrementell oppdatering (incremental refresh) innebærer at det først bare hentes data fra kildesystemet som nye eller oppdaterte.[3][4] Deretter tilføyes de oppdaterte dataene til de eksisterende dataene i målsystemet, og de eksisterende dataene i målsystemet oppdateres. Indeksene og statistikk oppdateres deretter. Inkrementell oppdatering kan gjøre lasting raskere og at det blir enklere å ta vare på historikk, men kan være krevende å sette opp og vedlikeholde.[2]
Vedlikeholdsmating
Vedlikeholdsmating innebærer at når kildesystemet oppdateres vil endringene i målsystemet skje tilnærmet umiddelbart.[5][6]
Ved lasting av data til et system som er i bruk av brukere eller andre systemer må man bestemme når systemet skal oppdateres og hva som skal skje med tabeller som er i bruk samtidig som systemet skal oppdateres. Én mulig løsning er bruk av skyggetabeller.[7][8]