Online Analytical Processing (OLAP)
Een gestructureerde informatieomgeving kan moeilijk bestaan zonder gebruik te maken van de OLAP-principes. Maar wat is OLAP nu precies en welke types kunnen onderscheiden worden? Een overzicht.
Online groeperen vs OLAP
In tegenstelling tot de ad hoc analyses (zie artikel
Ad hoc desktop analysis), die gekenmerkt worden door hun onvoorspelbaarheid, kan er een behoefte ontstaan aan heel specifieke analyses. Analyses die een aantal vooraf gekende dimensies bevatten die gemodelleerd kunnen worden in een vooraf gekende presentatievorm. Deze voorspelbaarheid maakt het mogelijk om te voorzien in op maat geschreven oplossingen die rekening houden met belangrijke aspecten als performantie en gebruiksvriendelijkheid. Men kan in een eerste instantie proberen de data warehouse, die dienst doet als ad hoc queryomgeving, eveneens aan te wenden voor deze specifieke doeleinden. Aangezien de granaliteit van een ad hoc data warehouse in principe heel hoog is kan men op elk ogenblik online groeperen om de gewenste informatie te verkrijgen. Maar het is net hier dat de bottleneck zich situeert. Online groeperen is eenvoudig en vereist weinig inspanningen naar programmatie toe, maar vanuit een systeemtechnisch standpunt betreft het een handeling die zware inspanningen van de database vraagt, wat aanzienlijke vertragingen kan teweeg brengen bij de data extractie.
OLAP & Cubes
Om dergelijke problemen tegen te gaan bestaat de mogelijkheid om zogenaamde
OLAP cubes te genereren. Voor we de eigenlijke kenmerken van OLAP bekijken, verduidelijken we even het begrip
cube (of kubus). Een cube is een veel gebruikte term in de Business Intelligence wereld en omvat in zeker zin de afzondering van data binnen de database. Vanuit een heel rudimentair standpunt kunnen we stellen dat men niet langer zal opkijken tegen een grote muur, maar dat men bepaalde heel specifieke bakstenen zal ontdubbelen om een nieuwe, kleinere muur te bouwen. OLAP cubes kunnen geïmplementeerd worden in een operationele omgeving, waar ze eerder een vlakke vorm zullen hebben. In een data warehouse omgeving, waar de klemtoon ligt op het gecombineerd gebruik van meerdere dimensies, wordt ze weergegeven als een meerdimensionaal object, of in schrijf- en spreektermen een kubus. Naast de gebruikelijke ontdubbeling van het OLTP systeem naar de informatieomgeving, ontstaat er een nieuwe vorm van ontdubbeling op het niveau van de informatieomgeving zelf. Dezelfde informatie is dus op drie plaatsen beschikbaar, zij het onder een andere vorm.
OLAP staat voor
Online Analytical Processing en omvat dus een analytische benadering van de bestaande data. Binnen OLAP kunnen we drie types onderscheiden: ROLAP (
Relational Online Analytical Processing), MOLAP (
Multi-dimensional Online Analytical Processing) en HOLAP (
Hybrid Online Analytical Processing).
ROLAP
ROLAP spitst er zich in de eerste plaats op toe om bestaande relationele data in stukken te snijden, met bepaalde analytische doeleinden in het achterhoofd. Het is het enige OLAP type dat niet resulteert in een extra ontdubbeling binnen een kubus.
Figuur 1: ROLAP Praktisch gezien gaat deze slicing gepaard met het online toevoegen van WHERE-condities aan SQL-statements. Het grote voordeel van ROLAP is dat het geen beperkingen oplegt in functie van de datahoeveelheid, die in feite equivalent is aan het aanbod van de onderliggende database. Dit voordeel is dan weer de oorzaak voor het belangrijkste nadeel: als gevolg van de enorme hoeveelheid data kan de performantie sterk afnemen. Een ander belangrijk nadeel is dat de volledige methodiek van ROLAP SQL-gebonden is. Door deze binding ontbreekt de mogelijkheid om complexe berekeningen te implementeren en is er vaak een behoefte aan de ontwikkeling van specifieke databasefuncties. Hoewel ROLAP perfect kan toegepast worden in een operationele omgeving, is het aangewezen om er enkel gebruik van te maken binnen een ODS. De hoeveelheid data is hier in theorie enigszins beperkt in de tijd, zodat toch een zekere performantie kan gegarandeerd worden
MOLAP
MOLAP is een traditionelere wijze van het toepassen van OLAP-principes.
Figuur 2: MOLAP Het opslaan van de data gebeurt niet relationeel, maar in afgezonderde proporties. Deze proporties, in feite multi-dimensionale kubussen, zijn volledig business- en behoefteafhankelijk. Ze bieden het voordeel dat door hun specificiteit de datahoeveelheid beperkt kan gehouden worden, wat een excellente performantie garandeert. Hun afzondering van de relationele database maakt het tevens mogelijk dat eventuele complexe berekeningen kunnen voorbereid worden bij de opbouw van de kubus, wat een online generatie ervan tegengaat. Maar elke stijging van de complexiteit gaat gepaard met een beperking van de datahoeveelheid. MOLAP cubes dienen steeds synchroon gehouden te worden met elke wijziging van de relationele data. Ze moeten met andere woorden telkens opnieuw opgebouwd worden. Indien de berekeningen zo complex zijn dat ze vertragingen met zich meebrengen, zal dit zich laten gelden bij een toename van het aantal records. Dit betekent niet dat de data binnen de kubus niet kan gebaseerd zijn op een grote hoeveelheid data, de beperking is enkel een feit bij de creatie van de kubus. Een MOLAP cube wordt vanzelfsprekend niet meegeleverd met de database. Er zal dus op een gegeven ogenblik een technische en financiële behoefte ontstaan aan knowhow en financiële middelen om de opbouw van de MOLAP omgeving te realiseren. Voor wat betreft de low level analysis is het in elk geval een onmisbaar werkinstrument.
HOLAP
HOLAP creëert
the best of both worlds en zal ROLAP en MOLAP functioneel gaan combineren. De HOLAP-techniek bestaat erin om te vertrekken van MOLAP kubussen, dus van sterk geaggregeerde data, om daarna in functie van de behoefte te gaan
drillen naar meer gedetailleerde informatie via ROLAP-technieken.
Figuur 3: HOLAP
HOLAP omvat dus in feite een neerwaartse beweging binnen de Business Intelligence piramide. Het spreekt voor zich dat een HOLAP-omgeving heel wat meer onderhoud en resources zal vragen. Er dient zowel voorzien te worden in een relationele laag als in een aggregatie van diezelfde informatie. Hier komt het voordeel van een gecombineerd gebruik van een ODS en een multidimensionale data warehouse duidelijk naar boven. De ODS is een perfecte omgeving voor het opzetten van ROLAP, terwijl een data warehouse kan beschouwd worden als een grote MOLAP cube.Doordat de opzet van de data warehouse al volledig multidimensionaal is, kan een doorgevoerde aggregatie in functie van de beschikbare dimensies zonder problemen gerealiseerd worden.