Online transaksjonsprosessering

**Online transaksjonsprosessering** (**OLTP**) er en type databasesystem brukt med transaksjonsorienterte applikasjoner, som for eksempel driftssystemer. "Online" tyder på at disse programmene brukes til å umiddelbart svare på brukerforespørsler og prosessere dem (behandle transaksjoner).

Begrepet står i kontrast til online analytisk behandling (OLAP) som i stedet fokuserer på dataanalyse (eksempelvis planleggings- og ledelsessystemer).

## Begrepet transaksjon
Begrepet "transaksjon" kan ha to forskjellige betydninger som begge kan gjelde: 

* Teknisk: Innen datamaskiner eller databasetransaksjoner betegner en transaksjon en atomisk endring av tilstanden
* Forretningsmessig: Innen næringsliv eller finans betegner en transaksjon vanligvis en utveksling av økonomiske midler (eksempelvis finansielle transaksjoner)

OLTP kan bruke transaksjoner av den tekniske typen til å registrere transaksjoner av den forretningsmessige.

## Bruk
OLTP-systemer kan ofte brukes samtidig av hundrevis av brukere, og bør respondere umiddelbart på brukerforespørsler. Online transaksjonsbehandlingsapplikasjoner har høy I/O-gjennomstrømning, og fungerer ved hjelp av mye innsettinger og endringer i databasen. Viktige mål for OLTP-applikasjoner er tilgjengelighet, hastighet, samtidighet og durabilitet. En minibank er et eksempel på en kommersiell transaksjonsbehandlingsapplikasjon. Noen OLTP-systemer må tas ned for offline vedlikehold. 

## Sammenlignet med OLAP
Online transaksjonsbehandling (OLTP) er vanligvis en motsetning til online analytisk prosessering (OLAP). Til sammenligning er OLAP generelt preget av mye mer komplekse spørsmål, i mindre volumer, og med formål å gi virksomhetsetterretning eller for rapporteringsformål i stedet for å behandle operasjonelle transaksjoner. Mens et OLTP-system behandler alle slags spørringer (lesing, insetting, oppdatering og sletting) er OLAP generelt optimalisert for lesing og støtter kanskje ikke engang andre typer spørringer. OLTP fungerer også annerledes enn satsvis prosessering og grid computing.

I tillegg skilles det av og til mellom OLTP og online hendelses prosessering (OLEP) som er basert på distribuerte hendelseslogger for å gi sterk konsistens i storskala hetergoene systemer. Mens OLTP er assosiert med korte og atomiske transaksjoner tillater OLEP mer fleksible distribusjonsmønstre og større skalerbarhet, men med økt latens og uten garantert øvre skranke på prosesseringstid.

## Oversikt
Eksempler på OLTP-systemer inkluderer ordreinngang, detaljhandel og finansielle transaksjonssystemer. Online transaksjonsbehandlingssystemer krever i økende grad støtte for transaksjoner som spenner over et nettverk og kan omfatte flere enn ett selskap. Av denne grunn bruker moderne online transaksjonsbehandlingsprogramvare meglingsprogramvare som gjør at transaksjoner kan kjøres på forskjellige datamaskinplattformer i et nettverk.

For enda mer krevende desentraliserte databasesystemer kan OLTP-meglerprogrammer distribuere transaksjonsbehandling mellom flere datamaskiner på et nettverk. OLTP er ofte integrert i tjenesteorientert arkitektur (SOA) og vevtjenester.

Online transaksjonsprosesser må håndtere samtidighet og atomisitet. Samtidighetstyring garanterer at to brukere som får tilgang til de samme dataene i databasesystemet ikke vil kunne endre disse dataene, eller at brukeren må vente til den andre brukeren er ferdig med behandlingen før de kan endre den delen av dataene. Atomisitet garanterer at alle trinnene i en transaksjon fullføres som en gruppe. Det vil si at dersom noen trinn i transaksjonen mislykkes medfører det at alle andre trinn også mislykkes.

## Se også
* Hendelseslager, type database som lagrer hendelser, og bare instansierer objekter ved presentasjon

## Referanse