Online analytisk prosessering

**Online analytisk prosessering** (**OLAP**, engelsk: *online analytical processing*) er en "analytisk måte" å trekke ut data på for å muliggjøre sanntidsanalyse av systemdrift. Termen ble innført i 1993 av Edgar F. Codd, som før øvrig er mer kjent for å stå bak relasjonsmodellen. 

Analysen viser hovedsakelig til evnen til å se på dataene fra mange vinkler og fleksibiliteten i sammenstillinger og datanmaniulasjon. Man bruker gjerne en såkalt rapporteringskube som er en datamodell som er satt sammen slik at man har mange dimensjoner som man kan betrakte fakta i forhold til. For eksempel kan `salg` fordeles på *tid*, *sted*, eller *kundesegment*, og så videre. 

Her ser man på salg i forhold til dimensjonene kundesegment og tid (år). Gitt at grunnlagsdataene også har en stedsdimensjon så har man her akkumulert på denne dimensjonen. Hvis man istedenfor fikserer tidsdimensjonen på 2009 og fordeler tallene på stedsdimensjonen kan man få noe slikt:

Det er den multidimensjonale betraktningen som har blitt den dominerende egenskapen som skiller OLAP ut fra andre tilnærminger til rapportering og datauttrekk. Imidlertid ser vi nedenfor at i Codd sin opprinnelige spesifikasjon er dette kun punkt nummer 1 av 12.

## Presis spesifikasjon
Codd definerte 12 kriterier for OLAP:

;1. Multidimensjonal betraktning: 

;2. Transparens: Det at OLAP brukes som del av sluttbrukerverktøyet, skal være synlig for brukeren. OLAP burde være del av en åpen arkitektur, slik at denne kan flettes inn hvor som helst uten at funksjonaliteten til vertsapplikasjonen endres. Kilden for dataene, og bakenforliggende kompleksitet, skal ikke eksponeres for brukeren.''

;3. Tilgang: OLAP verktøyet skal kunne lage sin egen logikk for å gjøre heterogene kilder tilgjengelige, og utføre konverteringer for å gjøre dataene fra de forskjellige kildene kompatible. Verktøyet og ikke brukeren skal bry seg om hvor dataene kommer fra.

;4. Jevn aksesstid for dataene: Svartider for OLAP verktøyet bør ikke reduseres betydelig når antallet dimensjoner økes.

;5. Klient tjener arkitektur: Tjenerkomponenten skal være tilstrekkelig intelligent, slik at klientene kan tilknyttes uten store problemer. Den burde være kapabel til å mappe og konsolidere data mellom forskjellige databaser.

;6. Generisk dimensionalitet: Alle dimensjoner skal være ekvivalent i sin struktur og operasjonelle egenskaper.

;7. Dynamisk glissen matrise-håndtering: OLAP tjenerens fysiske struktur burde ha optimal håndtering av glisne matriser.

;8. Flerbrukerstøtte: OLAP verktøy må støtte flerbrukertilgang samtidig for spørring og oppdateringstilgang, samt integritet og sikkerhet.

;9. Ubegrenset interdimensjonelle operasjoner: Infrastrukturen må tillate beregninger og at manipulasjon må være mulig på tvers av ubegrenset antall dimensjoner. Den må ikke legge begrensninger på relasjoner mellom data celler.

;10. Intuitiv datamanipulation: Datamanipulasjon innebygget i konsolideringsløpet, slik som drill down eller zoom ut, burde gjøres direkte mot modellens celler, og ikke kreve bruk av menyer eller andre komplekse operasjoner i brukergrensesnittet.

;11. Fleksibel rapportering: Rapportering burde være kapabel til å presentere informasjon på hvilken som helst måte brukeren ønsker det.

;12. Ubegrenset antall dimensjoner og aggregeringsnivåer.

## Varianter
### Multidimensjonal
Multidimensjonal online analytisk prosessering (MOLAP) er den klassiske formen for OLAP, og blir noen ganger bare kalt OLAP. Dataene lagres i et optimert flerdimensjonalt tabellager i stedet for i en relasjonsdatabase. 

### Relasjonell
Relasjonell online analytisk prosessering (ROLAP) fungerer direkte med relasjonsdatabaser og krever ikke forhåndsberegning. 

### Hybrid
Hybrid online analytisk prosessering (HOLAP): MOLAP og ROLAP krever at man må gjøre avveining mellom ekstra ETL-kostnader og treg søkeytelse. Mange OLAP-verktøy tilbyr derfor en hybrid tilnærming hvor modelldesigneren kan bestemme hvilke deler av dataene som skal lagres i MOLAP eller ROLAP. Det er ingen bransjeenighet om hva som utgjør "hybrid OLAP", bortsett fra at en database vil dele data mellom relasjonell og spesialisert lagring. HOLAP-verktøy kan bruke både forhåndsberegnede kuber og relasjonsdatakilder.

## Se også
* OLAP-kube
* Online transaksjonsprosessering (OLTP)
* Hybrid transaksjons- og analytisk prosessering (HTAP)

## Referanser