Datalasting

Fra Wikipedia, den frie encyklopedi

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[rediger | rediger kilde]

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[rediger | rediger kilde]

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[rediger | rediger kilde]

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[rediger | rediger kilde]

Utdypende artikkel: Fangst av dataendringer

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[rediger | rediger kilde]

Vedlikeholdsmating innebærer at når kildesystemet oppdateres vil endringene i målsystemet skje tilnærmet umiddelbart.[5][6]

Lasting til systemer som er i bruk[rediger | rediger kilde]

Se også: Sanntidssystem

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]

Se også[rediger | rediger kilde]

Referanser[rediger | rediger kilde]

  1. ^ «The Data School - Full vs Incremental refresh - Server tip». www.thedataschool.co.uk. Besøkt 18. februar 2023. 
  2. ^ a b «Incremental Data Load vs Full Load ETL: 4 Critical Differences - Learn | Hevo» (engelsk). 14. april 2022. Besøkt 18. februar 2023. 
  3. ^ «Incremental Loading». help.pyramidanalytics.com. Besøkt 18. februar 2023. 
  4. ^ Mitchell, Tim (23. juli 2020). «The What, Why, When, and How of Incremental Loads». Tim Mitchell (engelsk). Besøkt 18. februar 2023. 
  5. ^ Zuters, Janis (2011). «Near Real-Time Data Warehousing with Multi-stage Trickle and Flip». I Grabis, Janis. Perspectives in Business Informatics Research. 90. Springer Berlin Heidelberg. s. 73–82. ISBN 978-3-642-24510-7. doi:10.1007/978-3-642-24511-4_6, author="zuters, janis", editor="grabis, janis and kirikova, marite", title="near real-time data warehousing with multi-stage trickle and flip", booktitle="perspectives in business informatics research", year="2011", publisher="springer berlin heidelberg", address="berlin, heidelberg", pages="73--82", abstract="a data warehouse typically is a collection of historical data designed for decision support, so it is updated from the sources periodically, mostly on a daily basis. today's business however asks for fresher data. real-time warehousing is one of the trends to accomplish this, but there are a number of challenges to move towards true real-time. this paper proposes `multi-stage trickle {\&} flip' methodology for data warehouse refreshment. it is based on the `trickle {\&} flip' principle and extended in order to further insulate loading and querying activities, thus enabling both of them to be more efficient.", isbn="978-3-642-24511-4" } Sjekk |doi=-verdien (hjelp). Besøkt 18. februar 2023. 
  6. ^ «Trickle Loading Data». www.vertica.com. Besøkt 18. februar 2023. 
  7. ^ «Create shadow tables for synchronization - Data Management - Alibaba Cloud Documentation Center». www.alibabacloud.com. Besøkt 18. februar 2023. 
  8. ^ «Shadow tables». www.ibm.com (engelsk). 10. august 2015. Besøkt 18. februar 2023.