# Online analytical processing

Online analytical processing of OLAP is een applicatie-architectuur die door een bedrijf wordt gebruikt ter ondersteuning van de analytische applicaties. Het is geen datawarehouse of databasemanagementsysteem. De belangrijkste toepassingen van OLAP zijn bedrijfsmatige problemen waarbij records uit gigantische gegevensverzamelingen gehaald moeten worden. Deze records moeten dan ook getotaliseerd worden. Om de problemen van een moderne onderneming te kunnen oplossen, heb je speciale databaseschema's nodig. Deze schema's zijn array-georiënteerd en bevatten multidimensionale eigenschappen. Daarnaast staat de query in deze indeling centraal. Het resultaat lijkt vaak op een multidimensionale spreadsheet.

## Pilaren van OLAP

Dr. E.F. Codd formuleerde een lijst van twaalf richtlijnen die als basis gebruikt kan worden bij het selecteren van OLAP-systemen:
* multidimensionaal beeld: het OLAP-systeem moet een multidimensionaal modelproduct afleveren dat beantwoordt aan de vraag van de klant. Dit product moet eenvoudig te gebruiken zijn.
* transparant : de opbouw van het OLAP-systeem, de hele architectuur en onderliggende database, moet transparant zijn voor de gebruikers. Ze moeten hun productiviteit in algemenere omgevingen (zoals in Microsoft Excel) kunnen behouden.
* toegankelijkheid: het OLAP-systeem moet alleen de gegevens benaderen die relevant zijn voor het uitvoeren van een test.
* consistente rapportage-performance: als de grootte en het aantal dimensies van de database toenemen, mag de kwaliteit van het systeem daar niet onder lijden.
* cliënt/server-architectuur: het systeem moet rekening houden met de uitgangspunten van cliënt/server-architectuur om een maximale prijs, performance, flexibiliteit en aanpasbaarheid te bereiken.
* generieke dimensionaliteit: elke gegevensdimensie moet gelijkwaardig zijn in zowel structuur als operationele mogelijkheden.
* dynamische afhandeling van een lege matrix: het OLAP-systeem moet zijn fysiek schema kunnen aanpassen zodat de afhandeling van matrices met lege velden geoptimaliseerd wordt. Zo moet het systeem het gewenste niveau bereiken en behouden.
* ondersteuning van meerdere gebruikers: het systeem moet meerdere gebruikers ondersteunen, die gelijktijdig aan hetzelfde project werken.
* onbeperkte kruisdimensionele bewerkingen: het OLAP- systeem moet dimensionele hiërarchieën kunnen herkennen. Het systeem moet ook berekeningen binnen bepaalde dimensies en over verschillende dimensies kunnen uitvoeren.
* intuïtieve gegevensmanipulatie: men moet met eenvoudige muisbewegingen hele procedures en belangrijk manipulaties aan de data kunnen uitvoeren.
* flexibele rapportage: men moet intuïtieve presentaties kunnen maken van analytische rapporten. Dit zou men kunnen doen door rijen, kolommen en cellen te rangschikken.
* onbeperkte dimensies en aggregatieniveaus: er mogen geen beperkingen zijn op het aantal dimensies en het aantal aggregatieniveaus van een analytisch model.
Naast deze 12 richtlijnen moet een ruw OLAP-systeem ook tools bevatten die het beheer van de database mogelijk maken. Ze moeten ervoor zorgen dat je van een globaal overzicht van de database soepel kunt overgaan naar de gedetailleerde informatie. Het systeem moet ook vloeiend blijven werken wanneer de database ververst wordt. Een andere belangrijke eis die men stelt aan een OLAP-systeem, is dat het soepel kan worden geïntegreerd in een SQL omgeving.

## Vormen van OLAP
### MOLAP

Multidimensionele OLAP of MOLAP is de klassieke versie van OLAP. Bij MOLAP worden gegevens, na voorverwerking, opgeslagen in een OLAP-kubus. Deze werkwijze bevordert de queryverwerking door de geoptimaliseerde opslag en de multidimensionele indexatie. Daarnaast neemt de database relatief weinig plaats in. Het arraymodel dat wordt gebruikt in het systeem zorgt voor een automatische indexatie. De redelijke lange tijd die nodig is om de database te updaten, is MOLAP's grootste nadeel. Om deze tijd toch wat in te perken verwerkt men meestal enkel de recente aanpassingen aan de databank. Voorbeelden van MOLAP-systemen zijn Cognos Powerplay, Oracle OLAP, Microsoft Analysis Services, Essbase en Applix TM1.

### ROLAP

Relationele OLAP of ROLAP richt zich vooral op de relationele implementatie van de gegevens. Het ROLAP vereist geen voorverwerking zoals MOLAP. ROLAP maakt gebruik van ster- en sneeuwvlokschema's. Dit zijn geoptimaliseerde gegevensmodellen, die een herstructurering van gegevens met zich meebrengen. De ROLAP technologie is enkel compatibel met software die specifiek voor ROLAP ontwikkeld is. ROLAP kent enkele voordelen ten opzichte van MOLAP. Zo is ROLAP beter geschikt voor grote databases en zijn er veel meer tools beschikbaar voor de ROLAP systemen. Daarnaast kan ROLAP gebruikt worden in combinatie met SQL. ROLAP kent echter ook enkele nadelen. Aggregatie-ladingsprocessen kunnen niet via tools bewerkstelligd worden. Men moet hiervoor aangepaste ETL-processen gebruiken. Daarnaast kan SQL niet goed omgaan met zware berekeningen. ROLAP draagt hier de gevolgen van. Er wordt ook een hybride OLAP gebruikt (HOLAP), dit is een combinatie tussen MOLAP en ROLAP. HOLAP slaat aggregaties op in MOLAP-databases en gedetailleerde gegevens in ROLAP-databanken.