Analytische systemen OLAP. Toepassing van OLAP-technologieën als hulpmiddel voor bedrijfsanalyse. Speciale kenmerken van olap-technologie zijn onder meer:

In 1993 publiceerden de grondlegger van de relationele benadering van databaseconstructie, Edgar Codd en zijn partners (Edgar Codd, een wiskundige en IBM-fellow), een artikel geïnitieerd door Arbor Software (tegenwoordig het beroemde bedrijf Hyperion Solutions), getiteld "Providing OLAP ( online analytische verwerking) voor analytische gebruikers", waarin twaalf kenmerken van de OLAP-technologie werden geformuleerd, die vervolgens met zes werden aangevuld. Deze bepalingen werden de belangrijkste inhoud van een nieuwe en veelbelovende technologie.

Belangrijkste kenmerken van OLAP-technologie (basis):

  • multidimensionale conceptuele representatie van gegevens;
  • intuïtieve gegevensmanipulatie;
  • beschikbaarheid en details van gegevens;
  • extractie van batchgegevens versus interpretatie;
  • OLAP-analysemodellen;
  • client-server-architectuur (OLAP toegankelijk vanaf het bureaublad);
  • transparantie (transparante toegang tot externe gegevens);
  • ondersteuning voor meerdere gebruikers.

Speciale kenmerken:

  • verwerking van niet-geformaliseerde gegevens;
  • OLAP-resultaten opslaan: afzonderlijk van de brongegevens opslaan;
  • uitsluiting van ontbrekende waarden;
  • Omgaan met ontbrekende waarden.

Functies voor rapportpresentatie:

  • flexibiliteit in rapportage;
  • standaard rapportageprestaties;
  • automatische configuratie van de fysieke gegevensextractielaag.

Dimensiebeheer:

  • universaliteit van metingen;
  • onbeperkt aantal dimensies en aggregatieniveaus;
  • onbeperkt aantal bewerkingen tussen dimensies.

Historisch gezien impliceert de term "OLAP" tegenwoordig niet alleen een multidimensionale weergave van gegevens van de eindgebruiker, maar ook een multidimensionale weergave van de gegevens in de doeldatabase. Dit is precies de reden waarom de termen “Relationeel OLAP” (ROLAP) en “Multidimensionaal OLAP” (MOLAP) als onafhankelijke termen verschenen.

De OLAP-service is een hulpmiddel voor het in realtime analyseren van grote hoeveelheden gegevens. Door interactie met het OLAP-systeem kan de gebruiker flexibel informatie bekijken, willekeurige gegevensplakken verkrijgen en analytische bewerkingen uitvoeren van drill-down, roll-up, end-to-end distributie en vergelijking in de loop van de tijd, waarbij veel parameters tegelijkertijd worden gebruikt. Al het werk met het OLAP-systeem vindt plaats in termen van het vakgebied en stelt u in staat statistisch verantwoorde modellen van de bedrijfssituatie te bouwen.

OLAP-software is een hulpmiddel voor de operationele analyse van gegevens in een magazijn. Het belangrijkste kenmerk is dat deze hulpmiddelen niet bedoeld zijn voor gebruik door een specialist op het gebied van informatietechnologie, niet door een deskundige statisticus, maar door een professional op het toegepaste gebied van management - een manager van een afdeling, afdeling, management en , eindelijk een regisseur. De tools zijn zo ontworpen dat de analist met het probleem kan communiceren, niet met de computer. In afb. Figuur 6.14 toont een eenvoudige OLAP-kubus waarmee u gegevens langs drie dimensies kunt evalueren.


Met een multidimensionale OLAP-kubus en een systeem van overeenkomstige wiskundige algoritmen voor statistische verwerking kunt u gegevens van elke complexiteit op elk tijdsinterval analyseren.

Rijst. 6.14. Elementaire OLAP-kubus

Omdat hij over flexibele mechanismen voor gegevensmanipulatie en visuele weergave beschikt (Fig. 6.15, Fig. 6.16), onderzoekt de manager eerst vanuit verschillende invalshoeken de gegevens die wel (of niet) verband houden met het probleem dat wordt opgelost.

Vervolgens vergelijkt hij verschillende bedrijfsindicatoren met elkaar, in een poging verborgen relaties te identificeren; kan de gegevens nauwkeuriger bekijken, in detail, bijvoorbeeld door deze op te splitsen in componenten op basis van tijd, regio of klant, of, omgekeerd, de presentatie van informatie verder generaliseren om afleidende details te verwijderen. Hierna worden met behulp van de statistische evaluatie- en simulatiemodule verschillende opties voor de ontwikkeling van evenementen geconstrueerd, en daaruit wordt de meest acceptabele optie geselecteerd.

Rijst. 6.15.

Een bedrijfsmanager kan bijvoorbeeld de hypothese hebben dat de spreiding van de vermogensgroei in verschillende bedrijfstakken van het bedrijf afhangt van de verhouding tussen specialisten met een technische en economische opleiding. Om deze hypothese te testen, kan de manager bij het magazijn de renteverhouding opvragen en in een grafiek weergeven voor de branches waarvan de vermogensgroei in het huidige kwartaal met meer dan 10% is gedaald ten opzichte van vorig jaar, en voor de branches die met meer dan 10% zijn gestegen. 25%. Hij zou een eenvoudige selectie uit het aangeboden menu moeten kunnen gebruiken. Als de verkregen resultaten significant in twee overeenkomstige groepen vallen, zou dit een stimulans moeten worden voor het verder testen van de naar voren gebrachte hypothese.

Momenteel heeft een richting genaamd dynamische modellering (Dynamic Simulation), die het bovengenoemde FASMI-principe volledig implementeert, een snelle ontwikkeling doorgemaakt.

Met behulp van dynamische modellering bouwt de analist een model van een bedrijfssituatie die zich in de loop van de tijd ontwikkelt, volgens een bepaald scenario. Bovendien kan het resultaat van een dergelijke modellering verschillende nieuwe bedrijfssituaties zijn, waardoor een boom van mogelijke oplossingen ontstaat met een beoordeling van de waarschijnlijkheid en vooruitzichten van elk.

Rijst. 6.16. Analytische IS voor data-extractie, verwerking en presentatie van informatie

Tabel 6.3 toont de vergelijkende kenmerken van statische en dynamische analyse.

Het OLAP-mechanisme is tegenwoordig een van de populaire methoden voor data-analyse. Er zijn twee belangrijke benaderingen om dit probleem op te lossen. De eerste heet Multidimensional OLAP (MOLAP) - implementatie van het mechanisme met behulp van een multidimensionale database aan de serverzijde, en de tweede Relationele OLAP (ROLAP) - constructie van kubussen op basis van SQL-query's naar een relationeel DBMS. Elk van deze benaderingen heeft zijn voor- en nadelen. Hun vergelijkende analyse valt buiten het bestek van dit artikel. We zullen onze implementatie van de kern van de desktop ROLAP-module beschrijven.

Deze taak ontstond na het gebruik van een ROLAP-systeem dat was gebouwd op basis van Decision Cube-componenten uit Borland Delphi. Helaas liet het gebruik van deze reeks componenten slechte prestaties zien bij grote hoeveelheden gegevens. Dit probleem kan worden verholpen door zoveel mogelijk gegevens te verwijderen voordat deze in kubussen worden ingevoerd. Maar dit is niet altijd genoeg.

Er is veel informatie over OLAP-systemen te vinden op internet en in de pers, maar er wordt vrijwel nergens gezegd hoe het binnenin werkt. Daarom werd de oplossing voor de meeste problemen ons met vallen en opstaan ​​gegeven.

Bedieningsschema

Het algemene werkingsschema van een desktop OLAP-systeem kan als volgt worden weergegeven:

Het bedieningsalgoritme is als volgt:

  1. Het ontvangen van gegevens in de vorm van een platte tabel of het resultaat van het uitvoeren van een SQL-query.
  2. Gegevens in cache opslaan en converteren naar een multidimensionale kubus.
  3. De geconstrueerde kubus weergeven met behulp van een kruistabel of diagram, enz. Over het algemeen kan een willekeurig aantal aanzichten aan één kubus worden gekoppeld.

Laten we eens kijken hoe een dergelijk systeem intern kan worden geregeld. We beginnen hiermee vanaf de kant die gezien en aangeraakt kan worden, dat wil zeggen vanaf de displays.

De weergaven die in OLAP-systemen worden gebruikt, zijn meestal in twee typen verkrijgbaar: kruistabellen en diagrammen. Laten we eens kijken naar een kruistabel. Dit is de basis- en meest gebruikelijke manier om een ​​kubus weer te geven.

Kruis tafel

In de onderstaande afbeelding zijn de rijen en kolommen met geaggregeerde resultaten geel weergegeven, zijn de cellen met feiten lichtgrijs en zijn de cellen met dimensionale gegevens donkergrijs.

De tabel kan dus worden onderverdeeld in de volgende elementen, waarmee we in de toekomst zullen werken:

Bij het invullen van de matrix met feiten moeten we als volgt te werk gaan:

  • Bepaal op basis van de meetgegevens de coördinaten van het in de matrix toe te voegen element.
  • Bepaal de coördinaten van de kolommen en rijen van de totalen die worden beïnvloed door het toegevoegde element.
  • Voeg een element toe aan de matrix en de bijbehorende totale kolommen en rijen.

Opgemerkt moet worden dat de resulterende matrix zeer schaars zal zijn, en daarom is de organisatie ervan in de vorm van een tweedimensionale array (de optie die op het oppervlak ligt) niet alleen irrationeel, maar hoogstwaarschijnlijk onmogelijk vanwege de grote dimensie van deze matrix, voor opslag waarvoor geen enkele hoeveelheid RAM voldoende is. Als onze kubus bijvoorbeeld informatie bevat over de verkopen voor een jaar, en als deze slechts 3 dimensies heeft: Klanten (250), Producten (500) en Datum (365), dan krijgen we een feitenmatrix met de volgende dimensies:

Aantal elementen = 250 x 500 x 365 = 45.625.000

En dit ondanks het feit dat er misschien maar een paar duizend gevulde elementen in de matrix zitten. Bovendien geldt dat hoe groter het aantal dimensies is, hoe dunner de matrix zal zijn.

Om met deze matrix te werken, moet u daarom speciale mechanismen gebruiken voor het werken met dunne matrices. Er zijn verschillende opties mogelijk voor het organiseren van een sparse matrix. Ze worden vrij goed beschreven in de programmeerliteratuur, bijvoorbeeld in het eerste deel van het klassieke boek "The Art of Programming" van Donald Knuth.

Laten we nu eens kijken hoe we de coördinaten van een feit kunnen bepalen, terwijl we de afmetingen kennen die ermee corresponderen. Laten we, om dit te doen, de headerstructuur eens nader bekijken:

In dit geval kunt u eenvoudig een manier vinden om de getallen van de overeenkomstige cel en de totalen waarin deze valt te bepalen. Hier kunnen verschillende benaderingen worden voorgesteld. Eén daarvan is het gebruik van een boom om overeenkomende cellen te vinden. Deze boom kan worden samengesteld door de selectie te doorlopen. Bovendien kan eenvoudig een analytische herhalingsformule worden gedefinieerd om de vereiste coördinaat te berekenen.

Gegevensvoorbereiding

De gegevens die in de tabel zijn opgeslagen, moeten worden getransformeerd voordat ze kunnen worden gebruikt. Om de prestaties bij het construeren van een hyperkubus te verbeteren, is het dus wenselijk om unieke elementen te vinden die zijn opgeslagen in kolommen die de afmetingen van de kubus zijn. Bovendien kunt u voorlopige aggregatie van feiten uitvoeren voor records die dezelfde dimensiewaarden hebben. Zoals hierboven vermeld zijn de unieke waarden die beschikbaar zijn in de meetvelden belangrijk voor ons. Vervolgens kan de volgende structuur worden voorgesteld om ze op te slaan:

Door deze structuur te gebruiken, verminderen we de geheugenbehoefte aanzienlijk. Dat is heel relevant, want... Om de werksnelheid te verhogen, is het raadzaam om gegevens in RAM op te slaan. Bovendien kunt u alleen een reeks elementen opslaan en hun waarden naar schijf dumpen, omdat we ze alleen nodig hebben bij het weergeven van de kruistabel.

CubeBase-componentenbibliotheek

De hierboven beschreven ideeën vormden de basis voor het creëren van de CubeBase-componentenbibliotheek.

TCube-bron voert caching en conversie van gegevens uit naar een intern formaat, evenals voorlopige aggregatie van gegevens. Onderdeel TCube-motor voert berekeningen uit van de hyperkubus en bewerkingen ermee. In feite is het een OLAP-engine die een platte tabel omzet in een multidimensionale dataset. Onderdeel TCubeGrid geeft de kruistabel weer en regelt de weergave van de hyperkubus. TCubeGrafiek Hiermee kunt u de hyperkubus in de vorm van grafieken en de component bekijken TCubePivote regelt de werking van de kubuskern.

Prestatievergelijking

Deze set componenten presteerde veel beter dan Decision Cube. Op een set van 45.000 records hadden de Decision Cube-componenten dus 8 minuten nodig. een draaitabel maken. CubeBase laadde gegevens in 7 seconden. en het bouwen van een draaitabel in 4 seconden. Bij het testen op 700.000 Decision Cube-records kregen we binnen 30 minuten geen reactie, waarna we de taak hebben geannuleerd. CubeBase laadde gegevens in 45 seconden. en een kubus bouwen in 15 seconden.

Op datavolumes van duizenden records werkte CubeBase tien keer sneller dan Decision Cube. Op tafels met honderdduizenden records - honderden keren sneller. En hoge prestaties zijn een van de belangrijkste indicatoren van OLAP-systemen.

In 1993 publiceerden de grondlegger van de relationele benadering van databaseconstructie, Edgar Codd en zijn partners (Edgar Codd, een wiskundige en IBM-fellow), een artikel geïnitieerd door Arbor Software (tegenwoordig het beroemde bedrijf Hyperion Solutions), getiteld "Providing OLAP ( online analytische verwerking) voor analytische gebruikers", waarin twaalf kenmerken van de OLAP-technologie werden geformuleerd, die vervolgens met zes werden aangevuld. Deze bepalingen werden de belangrijkste inhoud van een nieuwe en veelbelovende technologie.

Belangrijkste kenmerken van de technologie OLAP (basis):

  • multidimensionale conceptuele representatie van gegevens;
  • intuïtieve gegevensmanipulatie;
  • beschikbaarheid en details van gegevens;
  • partij gegevensextractie tegen interpretatie;
  • OLAP-analysemodellen;
  • client-server-architectuur (OLAP toegankelijk vanaf de desktop);
  • transparantie (transparante toegang tot externe gegevens);
  • ondersteuning voor meerdere gebruikers.

Speciale kenmerken(Speciaal):

  • verwerking van niet-geformaliseerde gegevens;
  • OLAP-resultaten opslaan: afzonderlijk van de brongegevens opslaan;
  • uitsluiting van ontbrekende waarden;
  • Omgaan met ontbrekende waarden.

Kenmerken van rapportage(Rapport):

  • flexibiliteit in rapportage;
  • standaard rapportageprestaties;
  • automatische configuratie van de fysieke gegevensextractielaag.

Dimensiebeheer(Dimensie):

  • universaliteit van metingen;
  • onbeperkt aantal dimensies en aggregatieniveaus;
  • onbeperkt aantal bewerkingen tussen dimensies.

Historisch gezien impliceert de term "OLAP" tegenwoordig niet alleen een multidimensionale weergave van de gegevens van de eindgebruiker, maar ook een multidimensionale weergave van de gegevens in de doeldatabase. Dit is precies waarom de opkomst als onafhankelijke termen daarmee verband houdt "Relationele OLAP"(ROLAP) en "Multidimensionaal OLAP"(MOLAP).

De OLAP-service is een hulpmiddel voor het in realtime analyseren van grote hoeveelheden gegevens. Door interactie met het OLAP-systeem kan de gebruiker op flexibele wijze informatie bekijken, willekeurige gegevensplakken verkrijgen en analytische bewerkingen uitvoeren op het gebied van detaillering, convolutie, end-to-end distributie en vergelijking in de loop van de tijd, waarbij veel parameters tegelijkertijd worden gebruikt. Al het werk met het OLAP-systeem vindt plaats in termen van het vakgebied en stelt u in staat statistisch verantwoorde modellen van de bedrijfssituatie te bouwen.

OLAP-software - is een hulpmiddel voor operationele data-analyse opgenomen in de repository. Het belangrijkste kenmerk is dat deze hulpmiddelen niet bedoeld zijn voor gebruik door een specialist op het gebied van informatietechnologie, niet door een deskundige statisticus, maar door een professional op het toegepaste gebied van management - een manager van een afdeling, afdeling, management en , eindelijk een regisseur. De tools zijn ontworpen voor communicatie met analisten met het probleem, niet met de computer. In afb.

Figuur 6.14 toont een elementaire OLAP-kubus waarmee u gegevens langs drie dimensies kunt evalueren.


Met een multidimensionale OLAP-kubus en een systeem van overeenkomstige wiskundige algoritmen voor statistische verwerking kunt u gegevens van elke complexiteit op elk tijdsinterval analyseren.

Rijst. 6.14.

Met de beschikking over flexibele mechanismen voor gegevensmanipulatie en visuele weergave (Fig. 6.15, Fig. 6.16), onderzoekt de manager eerst vanuit verschillende invalshoeken de gegevens die al dan niet verband houden met het probleem dat wordt opgelost. Vervolgens vergelijkt hij verschillende bedrijfsindicatoren met elkaar, in een poging verborgen relaties te identificeren; kan de gegevens nauwkeuriger bekijken, in detail, bijvoorbeeld door deze op te splitsen in componenten op basis van tijd, regio of klant, of, omgekeerd, de presentatie van informatie verder generaliseren om afleidende details te verwijderen. Daarna met behulp van de module statistische evaluatie en simulatiemodellering


Er worden verschillende opties voor de ontwikkeling van evenementen geconstrueerd en de meest acceptabele optie wordt geselecteerd.

Een bedrijfsmanager kan bijvoorbeeld de hypothese hebben dat de spreiding van de vermogensgroei in verschillende takken van het bedrijf afhangt van de verhouding tussen het aantal specialisten met een technische en economische opleiding. Om deze hypothese te testen, kan de manager bij het magazijn de renteverhouding opvragen en in een grafiek weergeven voor de branches waarvan de vermogensgroei in het huidige kwartaal met meer dan 10% is gedaald ten opzichte van vorig jaar, en voor de branches die met meer dan 10% zijn gestegen. 25%. Hij zou een eenvoudige selectie uit het aangeboden menu moeten kunnen gebruiken. Als de verkregen resultaten significant in twee overeenkomstige groepen vallen, zou dit een stimulans moeten zijn voor het verder testen van de naar voren gebrachte hypothese.

Momenteel wordt er een richting gebeld dynamische modellering(Dynamische Simulatie), die het bovenstaande FASMI-principe volledig implementeert.

Met behulp van dynamische modellering bouwt de analist een model van een bedrijfssituatie die zich in de loop van de tijd ontwikkelt, volgens een bepaald scenario. Bovendien kan het resultaat van een dergelijke modellering verschillende nieuwe bedrijfssituaties zijn, waardoor een boom van mogelijke oplossingen ontstaat met een beoordeling van de waarschijnlijkheid en vooruitzichten van elk.


Rijst. 6.16.

Tabel 6.3 toont de vergelijkende kenmerken van statische en dynamische analyse.

Tabel 6.3.
Kenmerkend Statische analyse Dynamische analyse
Soorten vragen WHO? Wat? Hoeveel? Hoe? Wanneer? Waar? Waarom is dit zo? Wat zou er gebeuren als...? Wat zal er gebeuren als...?
Reactietijd Niet gereguleerd Seconden
Typische databewerkingen Gereglementeerd rapport, grafiek, tabel, tekening Opeenvolging van interactieve rapporten, diagrammen, schermformulieren. Dynamisch veranderende aggregatieniveaus en dataplakken
Niveau van analytische vereisten Gemiddeld Hoog
Type schermformulieren In principe vooraf bepaald, gereguleerd Door de gebruiker gedefinieerd, aanpasbaar
Gegevensaggregatieniveau Gedetailleerd en samenvatting Door gebruiker gedefinieerd
"Leeftijd" van gegevens Historisch en actueel Historisch, actueel en geprojecteerd
Soorten verzoeken Meestal voorspelbaar Onvoorspelbaar - van geval tot geval
Doel Gereguleerde analytische verwerking Multi-pass analyse, modellering en prognoses

Bijna altijd is de taak van het bouwen van een analytisch systeem voor multidimensionale data-analyse de taak van het bouwen één gecoördineerd informatiesysteem gebaseerd op heterogene software en oplossingen. En juist de keuze van de middelen voor het implementeren van IE wordt een uiterst moeilijke taak. Hierbij moet met veel factoren rekening worden gehouden, waaronder de onderlinge compatibiliteit van verschillende softwarecomponenten, het gemak van hun ontwikkeling, gebruik en integratie, operationele efficiëntie, stabiliteit en gelijkmatige vormen, niveau en potentiële vooruitzichten van relaties tussen verschillende productiebedrijven.

OLAP is overal toepasbaar waar het gaat om het analyseren van multivariate gegevens. Als u een gegevenstabel heeft die ten minste één beschrijvende kolom en één kolom met getallen bevat, is een OLAP-tool over het algemeen een effectief hulpmiddel voor het analyseren en genereren van rapporten. Als voorbeeld van het gebruik van OLAP-technologie kan een onderzoek naar de resultaten van het verkoopproces worden overwogen.

Belangrijke vragen: “Hoeveel is er verkocht?”, “Voor welk bedrag is er verkocht?” uitbreiden naarmate het bedrijf complexer wordt en historische gegevens zich opstapelen tot een bepaald aantal factoren, of secties: “..in St. Petersburg, Moskou, de Oeral, Siberië...”, “.. in het laatste kwartaal, vergeleken met de huidige,” “ ..van leverancier A vergeleken met leverancier B...", enz.

Antwoorden op dergelijke vragen zijn nodig voor het nemen van managementbeslissingen: over het wijzigen van het assortiment, de prijzen, het sluiten en openen van winkels, filialen, het beëindigen en ondertekenen van overeenkomsten met dealers, het voeren of beëindigen van reclamecampagnes, etc.

Als u de belangrijkste cijfers (feiten) en secties (meetargumenten) probeert te benadrukken die de analist manipuleert, in een poging de activiteiten van het bedrijf uit te breiden of te optimaliseren, krijgt u een tabel die geschikt is voor verkoopanalyse als een soort sjabloon dat passende aanpassingen vereist voor elke specifieke onderneming.

Tijd. In de regel zijn dit verschillende perioden: jaar, kwartaal, maand, decennium, week, dag. Veel OLAP-tools berekenen automatisch de hoogste perioden op basis van een datum en berekenen daarvoor de totalen.

Productcategorie. Er kunnen meerdere categorieën zijn, deze verschillen per type bedrijf: Variëteit, Model, Soort verpakking, etc. Als er maar één product verkocht wordt of het assortiment erg klein is, dan is een categorie niet nodig.

Product. Soms wordt de naam van het product (of de dienst), de code of het artikelnummer gebruikt. In gevallen waarin het assortiment erg groot is (en sommige bedrijven tienduizenden artikelen in hun prijslijst hebben), wordt de initiële analyse voor alle soorten goederen mogelijk niet uitgevoerd, maar gegeneraliseerd naar een aantal overeengekomen categorieën.

Regio. Afhankelijk van de globaliteit van het bedrijf kunt u het continent, de groep landen, het land, het gebied, de stad, het district, de straat en een deel van de straat bedoelen. Als er maar één stopcontact is, ontbreekt deze dimensie natuurlijk.

Verkoper. Deze meting is mede afhankelijk van de structuur en omvang van het bedrijf. Dit kan zijn: Filiaal, Winkel, Dealer, Verkoopmanager. In sommige gevallen vindt er geen meting plaats, bijvoorbeeld wanneer de verkoper geen invloed heeft op de verkoopvolumes, er maar één winkel is, enzovoort.

Koper. In sommige gevallen, zoals in de detailhandel, is de koper onpersoonlijk en vindt er geen meting plaats, in andere gevallen is de informatie over de koper aanwezig en is deze van belang voor de verkoop. Deze dimensie kan de naam van het kopende bedrijf of vele groepen en kenmerken van klanten bevatten: branche, ondernemingsgroep, eigenaar, enzovoort. Analyse van de verkoopstructuur om de belangrijkste componenten in de context van interesse te identificeren. Hiervoor is het handig om bijvoorbeeld een diagram van het type "Pie" te gebruiken in complexe gevallen waarin 3 dimensies tegelijk worden onderzocht: "Kolommen". In de Computer Equipment-winkel bedroeg de verkoop van computers dit kwartaal bijvoorbeeld $100.000, fotografische apparatuur $10.000 en verbruiksartikelen $4.500. Conclusie: de omzet van de winkel hangt voor een groot deel af van de verkoop van computers (in feite zijn misschien verbruiksartikelen nodig om computers te verkopen, maar dit is een analyse van interne afhankelijkheden).

Dynamische analyse ( regressieanalyse- het identificeren van trends). Identificatie van trends en seizoensschommelingen. De dynamiek wordt duidelijk weergegeven door een grafiek van het type “Lijn”. Zo daalde de verkoop van Intel-producten gedurende het jaar, terwijl de omzet van Microsoft groeide. Misschien is het welzijn van de gemiddelde klant verbeterd, of is het imago van de winkel veranderd, en daarmee ook de samenstelling van de klanten. Het assortiment moet aangepast worden. Nog een voorbeeld: gedurende 3 jaar daalt de verkoop van videocamera's in de winter.

Afhankelijkheidsanalyse(correlatieanalyse). Vergelijking van verkoopvolumes van verschillende producten in de loop van de tijd om het vereiste assortiment te identificeren - "mandje". Ook is het handig om hiervoor een “Lijn”-diagram te gebruiken. Toen bijvoorbeeld printers gedurende de eerste twee maanden uit het assortiment werden gehaald, daalde de verkoop van poedercartridges.

In de reeks artikelen "Inleiding tot databases", onlangs gepubliceerd (zie ComputerPress nr. 3'2000 - 3'2001), bespraken we verschillende technologieën en software die worden gebruikt bij het creëren van informatiesystemen - desktop- en server-DBMS's, tools voor gegevensontwerp, applicatieontwikkeling tools, evenals Business Intelligence - tools voor gegevensanalyse en -verwerking op bedrijfsschaal, die momenteel steeds populairder worden in de wereld, ook in ons land. We merken echter op dat de kwesties rond het gebruik van Business Intelligence-tools en de technologieën die worden gebruikt om toepassingen van deze klasse te creëren nog niet voldoende worden behandeld in de binnenlandse literatuur. In een nieuwe reeks artikelen zullen we proberen deze leemte op te vullen en te praten over de technologieën die ten grondslag liggen aan dergelijke toepassingen. Als implementatievoorbeelden zullen we voornamelijk Microsoft OLAP-technologieën gebruiken (voornamelijk Analysis Services in Microsoft SQL Server 2000), maar we hopen dat het grootste deel van het materiaal nuttig zal zijn voor gebruikers van andere tools.

Het eerste artikel in deze serie is gewijd aan de basisprincipes van OLAP (On-Line Analytical Processing) - een technologie voor multidimensionale data-analyse. Daarin zullen we kijken naar de concepten van datawarehousing en OLAP, de vereisten voor datawarehousing en OLAP-tools, de logische organisatie van OLAP-gegevens en de basistermen en concepten die worden gebruikt bij het bespreken van multidimensionale analyse.

Wat is een datawarehouse

Informatiesystemen op ondernemingsniveau bevatten in de regel toepassingen die zijn ontworpen voor complexe multidimensionale analyse van gegevens, hun dynamiek, trends, enz. Een dergelijke analyse is uiteindelijk bedoeld om de besluitvorming te ondersteunen.

Deze systemen worden vaak beslissingsondersteunende systemen genoemd.

Ralph Kimball, een van de grondleggers van het datawarehouse-concept, beschreef een datawarehouse als “een plek waar mensen toegang hebben tot hun gegevens” (zie bijvoorbeeld Ralph Kimball, “The Data Warehouse Toolkit: Practical Techniques for Building Dimensions Data Warehouses ", John Wiley & Sons, 1996 en "The Data Webhouse Toolkit: Building the Web-Enabled Data Warehouse", John Wiley & Sons, 2000). Ook formuleerde hij de basiseisen voor datawarehouses:

  • ondersteuning voor het snel ophalen van gegevens uit opslag;
  • het handhaven van de interne gegevensconsistentie;
  • de mogelijkheid om zogenaamde dataplakken (slice and dice) te verkrijgen en te vergelijken;
  • beschikbaarheid van handige hulpprogramma's voor het bekijken van gegevens in de opslag;
  • volledigheid en betrouwbaarheid van opgeslagen gegevens;
  • ondersteuning voor een kwalitatief hoogstaand proces voor het aanvullen van gegevens.

Het is vaak niet mogelijk om binnen hetzelfde product aan alle bovenstaande eisen te voldoen. Daarom worden voor de implementatie van datawarehouses meestal verschillende producten gebruikt, waarvan sommige daadwerkelijke hulpmiddelen voor gegevensopslag zijn, andere hulpmiddelen om ze op te halen en te bekijken, andere hulpmiddelen om ze aan te vullen, enz.

Een typisch datawarehouse verschilt doorgaans van een typische relationele database. Ten eerste zijn reguliere databases ontworpen om gebruikers te helpen bij het dagelijkse werk, terwijl datawarehouses zijn ontworpen voor besluitvorming. De verkoop van goederen en de uitgifte van facturen worden bijvoorbeeld uitgevoerd met behulp van een database die is ontworpen voor het verwerken van transacties, en de analyse van de verkoopdynamiek over meerdere jaren, waardoor planningswerk met leveranciers mogelijk is, wordt uitgevoerd met behulp van een datawarehouse.

Ten tweede is het datawarehouse, hoewel traditionele databases onderhevig zijn aan voortdurende veranderingen terwijl gebruikers werken, relatief stabiel: de gegevens daarin worden doorgaans volgens een schema bijgewerkt (bijvoorbeeld wekelijks, dagelijks of elk uur, afhankelijk van de behoeften). Idealiter bestaat het verrijkingsproces uit het toevoegen van nieuwe gegevens over een bepaalde periode, zonder dat eerdere informatie die al in het magazijn aanwezig is, wordt gewijzigd.

En ten derde zijn reguliere databases meestal de bron van gegevens die in het magazijn terechtkomen. Bovendien kan de repository worden aangevuld vanuit externe bronnen, zoals statistische rapporten.

Wat is OLAP

Beslissingsondersteunende systemen beschikken doorgaans over de middelen om de gebruiker te voorzien van geaggregeerde gegevens voor verschillende monsters uit de oorspronkelijke set in een vorm die handig is voor perceptie en analyse. Dergelijke geaggregeerde functies vormen doorgaans een multidimensionale (en daarom niet-relationele) gegevensset (vaak een hyperkubus of metacube genoemd), waarvan de assen de parameters bevatten, en de cellen de geaggregeerde gegevens bevatten die daarvan afhankelijk zijn. Langs elke as kunnen gegevens in een hiërarchie worden georganiseerd, die verschillende detailniveaus vertegenwoordigt. Dankzij dit datamodel kunnen gebruikers complexe zoekopdrachten formuleren, rapporten genereren en subsets van gegevens verkrijgen.

De technologie voor complexe multidimensionale data-analyse heet OLAP (On-Line Analytical Processing). OLAP is een belangrijk onderdeel van datawarehousing.

  • Het concept van OLAP werd in 1993 beschreven door Edgar Codd, een gerenommeerd databaseonderzoeker en auteur van het relationele datamodel (zie E.F. Codd, S.B. Codd en C.T. Salley, Provide OLAP (on-line analytische verwerking) aan gebruikersanalisten: An IT-mandaat. Technisch rapport, 1993). In 1995 werd op basis van de eisen van Codd de zogenaamde FASMI-test (Fast Analysis of Shared Multidimensional Information) geformuleerd, waarin de volgende eisen zijn opgenomen voor toepassingen voor multidimensionale analyse:
  • de gebruiker voorzien van analyseresultaten binnen een aanvaardbare tijd (meestal niet meer dan 5 s), zelfs ten koste van een minder gedetailleerde analyse;
  • de mogelijkheid om elke logische en statistische analyse uit te voeren die specifiek is voor een bepaalde applicatie en deze op te slaan in een vorm die toegankelijk is voor de eindgebruiker;
  • toegang voor meerdere gebruikers tot gegevens met ondersteuning voor passende vergrendelingsmechanismen en geautoriseerde toegangsmiddelen;
  • multidimensionale conceptuele representatie van gegevens, inclusief volledige ondersteuning voor hiërarchieën en meerdere hiërarchieën (dit is een belangrijke vereiste van OLAP);

de mogelijkheid om toegang te krijgen tot alle noodzakelijke informatie, ongeacht het volume en de opslaglocatie.

Opgemerkt moet worden dat de OLAP-functionaliteit op verschillende manieren kan worden geïmplementeerd, van de eenvoudigste tools voor gegevensanalyse in kantoortoepassingen tot gedistribueerde analysesystemen op basis van serverproducten. Maar voordat we het hebben over de verschillende implementaties van deze functionaliteit, laten we eens kijken naar wat OLAP-kubussen zijn vanuit een logisch oogpunt.

In deze sectie zullen we het concept van OLAP en multidimensionale kubussen nader bekijken.

Als voorbeeld van een relationele database die we zullen gebruiken om de OLAP-principes te illustreren, zullen we de Northwind-database gebruiken, die wordt meegeleverd met Microsoft SQL Server of Microsoft Access en een typische database is die handelsinformatie opslaat voor een groothandel in voedseldistributie. Dergelijke gegevens omvatten informatie over leveranciers, klanten, bezorgbedrijven, een lijst met geleverde goederen en hun categorieën, gegevens over bestellingen en bestelde goederen, een lijst met bedrijfsmedewerkers. Een gedetailleerde beschrijving van de Northwind-database vindt u in de Microsoft SQL Server- of Microsoft Access-helpsystemen - we presenteren deze hier niet vanwege ruimtegebrek.

Om het concept van OLAP te verkennen, gebruiken we de weergave Facturen en de tabellen Producten en Categorieën uit de Northwind-database om een ​​query te maken die gedetailleerde informatie oplevert over alle bestelde goederen en uitgegeven facturen:

SELECTEER dbo.Invoices.Country, dbo.Invoices.City, dbo.Invoices.CustomerName, dbo.Invoices.Salesperson, dbo.Invoices.OrderDate, dbo.Categories.CategoryName, dbo.Invoices.ProductName, dbo.Invoices.ShipperName, dbo .Invoices.ExtendedPrice FROM dbo.Products INNER JOIN dbo.Categories ON dbo.Products.CategoryID = dbo.Categories.CategoryID INNER JOIN dbo.Invoices ON dbo.Products.ProductID = dbo.Invoices.ProductID

In Access 2000 ziet een soortgelijke query er als volgt uit:

SELECT Invoices.Country, Invoices.City, Invoices.Customers.CompanyName AS CustomerName, Invoices.Salesperson, Invoices.OrderDate, Categorys.CategoryName, Invoices.ProductName, Invoices.Shippers.CompanyName AS ShipperName, Invoices.ExtendedPrice FROM Categorieën INNER JOIN ( Facturen INNER JOIN Producten OP Facturen.ProductID = Producten.ProductID) ON Categorieën.CategorieID = Producten.CategorieID;

Laten we dit verzoek voor het gemak opslaan als weergave en het Facturen1 noemen.

Het resultaat van toegang tot deze representatie wordt getoond in Fig. 1.

  • Welke geaggregeerde gegevens kunnen we uit deze weergave halen? Meestal zijn dit antwoorden op vragen als:
  • Wat is de totale waarde van bestellingen geplaatst door klanten uit Frankrijk?
  • Wat is de totale waarde van bestellingen geplaatst door klanten in Frankrijk en geleverd door Speedy Express?

Wat is de totale waarde van de bestellingen die in 1997 door klanten in Frankrijk zijn geplaatst en door Speedy Express zijn geleverd?

Laten we deze vragen vertalen naar query's in SQL (tabel 1).

Het resultaat van elk van de bovenstaande zoekopdrachten is een getal. Als u in de eerste zoekopdracht de parameter 'Frankrijk' vervangt door 'Oostenrijk' of de naam van een ander land, kunt u deze zoekopdracht opnieuw uitvoeren en een ander nummer krijgen. Nadat we deze procedure met alle landen hebben uitgevoerd, krijgen we de volgende dataset (een fragment wordt hieronder weergegeven): Land
SOM (uitgebreide prijs) 7327.3
Argentinië 110788.4
Oostenrijk 28491.65
België 97407.74
Brazilië 46190.1
Canada 28392.32
Denemarken 15296.35
Finland 69185.48
Frankrijk 209373.6

Duitsland

De resulterende reeks geaggregeerde waarden (in dit geval sommen) kan worden geïnterpreteerd als een eendimensionale gegevensset. Dezelfde gegevensset kan ook worden verkregen als resultaat van een query met een GROUP BY-clausule van de volgende vorm:

SELECTEER Land, SUM (ExtendedPrice) VAN facturen1 GROEPEREN OP Land

Laten we nu eens kijken naar de tweede query hierboven, die twee voorwaarden bevat in de WHERE-clausule. Als we deze query uitvoeren en alle mogelijke waarden voor de parameters Country en ShipperName invoeren, krijgen we een tweedimensionale dataset die er als volgt uitziet (een fragment wordt hieronder weergegeven):
Het resultaat van elk van de bovenstaande zoekopdrachten is een getal. Als u in de eerste zoekopdracht de parameter 'Frankrijk' vervangt door 'Oostenrijk' of de naam van een ander land, kunt u deze zoekopdracht opnieuw uitvoeren en een ander nummer krijgen. Nadat we deze procedure met alle landen hebben uitgevoerd, krijgen we de volgende dataset (een fragment wordt hieronder weergegeven): Naam verzender Federale scheepvaart Snelle Express
SOM (uitgebreide prijs) 1 210.30 1 816.20 5 092.60
Argentinië 40 870.77 41 004.13 46 128.93
Oostenrijk 11 393.30 4 717.56 17 713.99
België 16 514.56 35 398.14 55 013.08
Brazilië 19 598.78 5 440.42 25 157.08
Canada 18 295.30 6 573.97 7 791.74
Denemarken 4 889.84 5 966.21 7 954.00
Finland 28 737.23 21 140.18 31 480.90
Frankrijk 53 474.88 94 847.12 81 962.58

Verenigd pakket

Zo'n gegevensset wordt een draaitabel of kruistabel genoemd. Met veel spreadsheets en desktop-DBMS's kunt u dergelijke tabellen maken - van Paradox voor DOS tot Microsoft Excel 2000. Zo ziet een vergelijkbare query er bijvoorbeeld uit in Microsoft Access 2000:

TRANSFORMEER Sum(Invoices1.ExtendedPrice) AS SumOfExtendedPrice SELECT Facturen1.Land VAN Facturen1 GROEPEREN OP Facturen1.Land PIVOT Facturen1.Verzendernaam;

Geaggregeerde gegevens voor een dergelijke draaitabel kunnen ook worden verkregen met behulp van een reguliere GROUP BY-query:

Het resultaat van elk van de bovenstaande zoekopdrachten is een getal. Als u in de eerste zoekopdracht de parameter 'Frankrijk' vervangt door 'Oostenrijk' of de naam van een ander land, kunt u deze zoekopdracht opnieuw uitvoeren en een ander nummer krijgen. Nadat we deze procedure met alle landen hebben uitgevoerd, krijgen we de volgende dataset (een fragment wordt hieronder weergegeven): Laten we nu eens kijken naar de tweede query hierboven, die twee voorwaarden bevat in de WHERE-clausule. Als we deze query uitvoeren en alle mogelijke waarden voor de parameters Country en ShipperName invoeren, krijgen we een tweedimensionale dataset die er als volgt uitziet (een fragment wordt hieronder weergegeven): Land
SOM (uitgebreide prijs) Naam verzender 845.5
Argentinië Naam verzender 35696.78
Oostenrijk Naam verzender 8747.3
België Naam verzender 13998.26

De derde van de hierboven besproken query's heeft al drie parameters in de WHERE-voorwaarde.

Door ze te variëren, verkrijgen we een driedimensionale dataset (Fig. 2).

Cellen van de kubus getoond in Fig. 2 bevatten geaggregeerde gegevens die overeenkomen met de waarden van de queryparameters in de WHERE-clausule op de kubusassen.

Je kunt een set tweedimensionale tabellen verkrijgen door een kubus te snijden met vlakken evenwijdig aan de vlakken (de termen doorsneden en plakjes worden gebruikt om ze aan te duiden).

Uiteraard kunnen de gegevens in de kubuscellen ook worden verkregen met behulp van een geschikte query met een GROUP BY-clausule. Bovendien kunt u met sommige spreadsheets (vooral Microsoft Excel 2000) ook een driedimensionale gegevensset plotten en verschillende dwarsdoorsneden van de kubus evenwijdig aan zijn vlak bekijken, zoals weergegeven op het werkmapblad.

Als de WHERE-clausule vier of meer parameters bevat, kan de resulterende reeks waarden (ook wel een OLAP-kubus genoemd) vierdimensionaal, vijfdimensionaal, enz. zijn.

Nu we hebben bekeken wat multidimensionale OLAP-kubussen zijn, gaan we verder met enkele belangrijke termen en concepten die worden gebruikt in multidimensionale gegevensanalyse.

Enkele termen en concepten

Als het over metingen gaat, is het de moeite waard te vermelden dat de waarden die op de assen zijn uitgezet, verschillende detailniveaus kunnen hebben. We kunnen bijvoorbeeld geïnteresseerd zijn in de totale waarde van bestellingen van klanten in verschillende landen, of de totale waarde van bestellingen van klanten van buiten de stad of zelfs individuele klanten. Uiteraard zal de resulterende reeks geaggregeerde gegevens in het tweede en derde geval gedetailleerder zijn dan in het eerste. Merk op dat de mogelijkheid om geaggregeerde gegevens met verschillende mate van detail te verkrijgen voldoet aan een van de vereisten voor datawarehouses: de vereiste voor de beschikbaarheid van verschillende dataplakken voor vergelijking en analyse.

Omdat in het beschouwde voorbeeld elk land over het algemeen meerdere steden kan hebben en een stad meerdere klanten kan hebben, kunnen we praten over hiërarchieën van waarden in dimensies. In dit geval bevinden landen zich op het eerste niveau van de hiërarchie, steden op het tweede niveau en klanten op het derde niveau (figuur 3).

Merk op dat hiërarchieën evenwichtig kunnen zijn, zoals de hiërarchie getoond in Fig. 3, evenals hiërarchieën op basis van datum-tijd en onevenwichtige gegevens. Een typisch voorbeeld van een onevenwichtige hiërarchie is een 'superieur-ondergeschikte' hiërarchie (deze kan bijvoorbeeld worden opgebouwd met behulp van de waarden van het veld Verkoper van de originele dataset uit het hierboven besproken voorbeeld), weergegeven in Fig. 4.

Soms wordt voor dergelijke hiërarchieën de term Ouder-kind-hiërarchie gebruikt.

Er zijn ook hiërarchieën die een tussenpositie innemen tussen evenwichtig en onevenwichtig (ze worden aangeduid met de term rafelig). Ze bevatten doorgaans leden waarvan de logische 'ouders' zich niet op het onmiddellijk hogere niveau bevinden (een geografische hiërarchie heeft bijvoorbeeld de niveaus Land, Stad en Staat, maar er zijn landen in de gegevensset die geen staten of regio's hebben tussen de landen Land en Staat. Stadsniveaus; Afb. 5).

Houd er rekening mee dat onevenwichtige en “ongelijke” hiërarchieën niet door alle OLAP-tools worden ondersteund. Microsoft Analysis Services 2000 ondersteunt bijvoorbeeld beide typen hiërarchie, maar Microsoft OLAP Services 7.0 ondersteunt alleen gebalanceerde typen.

Het aantal hiërarchieniveaus, het maximaal toegestane aantal leden van één niveau en het maximaal mogelijke aantal dimensies zelf kunnen in verschillende OLAP-tools verschillend zijn.

Conclusie

  • Het doel van datawarehouses is om gebruikers te voorzien van informatie voor statistische analyses en managementbeslissingen.
  • Datawarehouses moeten zorgen voor een hoge snelheid bij het ophalen van gegevens, de mogelijkheid om zogenaamde dataplakken te verkrijgen en te vergelijken, evenals de consistentie, volledigheid en betrouwbaarheid van gegevens.
  • OLAP (On-Line Analytical Processing) is een belangrijk onderdeel van het bouwen en gebruiken van datawarehouses. Deze technologie is gebaseerd op de constructie van multidimensionale gegevenssets: OLAP-kubussen, waarvan de assen parameters bevatten, en de cellen geaggregeerde gegevens bevatten die daarvan afhankelijk zijn.
  • Applicaties met OLAP-functionaliteit moeten de gebruiker binnen een acceptabele tijd voorzien van analyseresultaten, logische en statistische analyses uitvoeren, toegang voor meerdere gebruikers tot gegevens ondersteunen, een multidimensionale conceptuele representatie van gegevens bieden en toegang hebben tot alle noodzakelijke informatie.

Daarnaast hebben we de basisprincipes van de logische organisatie van OLAP-kubussen besproken en ook de basistermen en concepten geleerd die worden gebruikt in multidimensionale analyse.

Ten slotte hebben we geleerd wat de verschillende soorten hiërarchieën zijn in OLAP-kubusdimensies.

In het volgende artikel in deze serie zullen we kijken naar de typische structuur van datawarehouses, praten over wat client- en server-OLAP inhoudt, en ook stilstaan ​​bij enkele technische aspecten van multidimensionale gegevensopslag.

ComputerPress 4"2001

Online analytische verwerking, of OLAP, is een effectieve gegevensverwerkingstechnologie die samenvattende informatie produceert op basis van enorme hoeveelheden allerlei soorten gegevens. Het is een krachtig product waarmee u informatie op uw pc kunt openen, ophalen en bekijken door deze vanuit verschillende perspectieven te analyseren.

OLAP is een tool die een strategische positie biedt voor langetermijnplanning en kijkt naar de onderliggende informatie van operationele gegevens voor een toekomst van 5, 10 of meer jaar. Gegevens worden opgeslagen in een database met een dimensie, het attribuut ervan. Gebruikers kunnen dezelfde dataset met verschillende attributen bekijken, afhankelijk van het doel van de analyse.

OLAP is geen nieuw concept en wordt al tientallen jaren gebruikt. In feite is de oorsprong van de technologie terug te voeren tot 1962. Maar de term werd pas in 1993 bedacht door database-auteur Ted Coddom, die ook twaalf regels voor het product opstelde. Zoals bij veel andere toepassingen heeft het concept verschillende evolutiestadia doorgemaakt.

De geschiedenis van de OLAP-technologie zelf gaat terug tot 1970, toen Express-informatiebronnen en de eerste Olap-server werden uitgebracht. Ze werden in 1995 door Oracle overgenomen en werden vervolgens de basis voor de online analytische verwerking van de multidimensionale computerengine die het beroemde computermerk in zijn database aanleverde. In 1992 werd een ander bekend product voor de verwerking van online analyses, Essbase, uitgebracht door Arbor Software (overgenomen door Oracle in 2007).

In 1998 bracht Microsoft de online analytische gegevensverwerkingsserver MS Analysis Services uit. Dit droeg bij aan de populariteit van de technologie en vormde de aanleiding voor de ontwikkeling van andere producten. Tegenwoordig zijn er verschillende wereldberoemde leveranciers die Olap-applicaties aanbieden, waaronder IBM, SAS, SAP, Essbase, Microsoft, Oracle, IcCube.

Online analytische verwerking

OLAP is een tool waarmee u beslissingen kunt nemen over geplande evenementen. Een atypische Olap-berekening kan complexer zijn dan alleen het aggregeren van gegevens. Analytische queries per minuut (AQM) worden gebruikt als standaardbenchmark om de prestaties van verschillende tools te vergelijken. Deze systemen moeten gebruikers zoveel mogelijk beschermen tegen complexe querysyntaxis en consistente responstijden bieden voor iedereen (hoe complex ook).

Er zijn de volgende hoofdkenmerken van OLAP:

  1. Multidimensionale gegevensrepresentaties.
  2. Ondersteunt complexe berekeningen.
  3. Tijdelijke verkenning.

Een multidimensionaal beeld vormt de basis voor analytische verwerking via flexibele toegang tot bedrijfsgegevens. Hiermee kunnen gebruikers gegevens in elke dimensie en op elk aggregatieniveau analyseren.

Ondersteuning voor complexe berekeningen vormt de kern van OLAP-software.

Tijdintelligentie wordt gebruikt om de prestaties van een analysetoepassing over een bepaalde periode te evalueren. Bijvoorbeeld deze maand vergeleken met vorige maand, deze maand vergeleken met dezelfde maand vorig jaar.

Multidimensionale datastructuur

Een van de belangrijkste kenmerken van online analytische verwerking is de multidimensionale structuur van de gegevens. Een kubus kan meerdere afmetingen hebben. Dankzij dit model is het hele OLAP-miningproces eenvoudig voor managers en leidinggevenden, omdat de objecten die in de cellen worden weergegeven, echte bedrijfsobjecten zijn. Bovendien kunnen gebruikers met dit datamodel niet alleen gestructureerde arrays verwerken, maar ook ongestructureerde en semi-gestructureerde arrays. Dit alles maakt ze vooral populair voor data-analyse en BI-toepassingen.

Belangrijkste kenmerken van OLAP-systemen:

  1. Gebruik multidimensionale data-analysemethoden.
  2. Bied geavanceerde database-ondersteuning.
  3. Creëer gebruiksvriendelijke interfaces voor eindgebruikers.
  4. Ondersteunt client/server-architectuur.

Een van de belangrijkste componenten van OLAP-concepten is de client-side server. Naast het aggregeren en voorbewerken van gegevens uit een relationele database, biedt het geavanceerde berekenings- en opnameopties, extra functies, geavanceerde basisquerymogelijkheden en andere functies.

Afhankelijk van het toepassingsvoorbeeld dat u selecteert, zijn er verschillende datamodellen en tools beschikbaar, waaronder realtime waarschuwingen, wat-als-scenario's, optimalisatie en geavanceerde OLAP-rapportage.

Kubieke vorm

Het concept is gebaseerd op een kubusvorm. De lay-out van de gegevens laat zien hoe OLAP zich houdt aan het principe van multidimensionale analyse, wat resulteert in een gegevensstructuur die is ontworpen voor snelle en efficiënte analyse.

Een OLAP-kubus wordt ook wel een "hyperkubus" genoemd. Het wordt beschreven als bestaande uit numerieke feiten (metingen) ingedeeld in facetten (dimensies). Dimensies verwijzen naar de kenmerken die een bedrijfsprobleem definiëren. Simpel gezegd is een dimensie een label dat een meting beschrijft. In verkooprapporten zou de maatstaf bijvoorbeeld het verkoopvolume zijn, en de dimensies zouden de verkoopperiode, verkopers, product of dienst en verkoopregio omvatten. Bij de rapportage van productieactiviteiten kan de maatstaf de totale productiekosten en productie-eenheden zijn. De afmetingen zijn de datum of het tijdstip van de productie, de productiefase of -fase, en zelfs de werknemers die bij het productieproces betrokken zijn.

De OLAP-datakubus is de hoeksteen van het systeem. De gegevens in een kubus zijn georganiseerd met behulp van een ster- of sneeuwvlokschema. In het midden bevindt zich een feitentabel met aggregaten (metingen). Het is gekoppeld aan een reeks dimensietabellen die informatie over metingen bevatten. De dimensies beschrijven hoe deze maatregelen kunnen worden geanalyseerd. Als een kubus meer dan drie dimensies bevat, wordt deze vaak een hyperkubus genoemd.

Een van de belangrijkste kenmerken van de kubus is het statische karakter ervan, wat inhoudt dat de kubus niet meer kan worden gewijzigd nadat deze is ontwikkeld. Daarom is het proces van het samenstellen van de kubus en het opzetten van het datamodel een cruciale stap op weg naar de juiste gegevensverwerking in de OLAP-architectuur.

Gegevens samenvoegen

Het gebruik van aggregaties is de belangrijkste reden waarom queries veel sneller worden verwerkt in OLAP-tools (vergeleken met OLTP). Aggregaties zijn samenvattingen van gegevens die tijdens de verwerking vooraf zijn berekend. Alle leden die zijn opgeslagen in OLAP-dimensietabellen bepalen de query's die de kubus kan ontvangen.

In een kubus worden opeenhopingen van informatie opgeslagen in cellen, waarvan de coördinaten worden gespecificeerd door specifieke dimensies. Het aantal aggregaten dat een kubus kan bevatten, is afhankelijk van alle mogelijke combinaties van dimensieleden. Daarom kan een typische kubus in een toepassing een extreem groot aantal aggregaten bevatten. Er wordt alleen een voorberekening uitgevoerd voor belangrijke aggregaten die verspreid zijn over de online analysekubus. Dit zal de tijd die nodig is om eventuele aggregaties te definiëren bij het uitvoeren van een query in het gegevensmodel aanzienlijk verkorten.

Er zijn ook twee opties met betrekking tot aggregaties die u kunt gebruiken om de prestaties van uw voltooide kubus te verbeteren: een capaciteitscache-aggregatie maken en een op gebruikersquery's gebaseerde aggregatie gebruiken.

Werkingsprincipe

Normaal gesproken kan de analyse van operationele informatie verkregen uit transacties worden uitgevoerd met behulp van een eenvoudige spreadsheet (gegevenswaarden worden gepresenteerd in rijen en kolommen). Dit is goed gezien het tweedimensionale karakter van de gegevens. In het geval van OLAP zijn er verschillen, die verband houden met een multidimensionale data-array. Omdat ze vaak uit verschillende bronnen komen, kan de spreadsheet ze niet altijd efficiënt verwerken.

De kubus lost dit probleem op en zorgt er bovendien voor dat het OLAP-datawarehouse op een logische en overzichtelijke manier werkt. Bedrijven verzamelen gegevens uit talloze bronnen en zijn beschikbaar in verschillende formaten, zoals tekstbestanden, multimediabestanden, Excel-spreadsheets, Access-databases en zelfs OLTP-databases.

Alle gegevens worden verzameld in een magazijn dat rechtstreeks uit de bronnen wordt gevuld. Daarin wordt de ruwe informatie verkregen uit OLTP en andere bronnen gezuiverd van eventuele foutieve, onvolledige en inconsistente transacties.

Eenmaal opgeschoond en getransformeerd, wordt de informatie opgeslagen in een relationele database. Vervolgens wordt het voor analyse naar een multidimensionale OLAP-server (of Olap-kubus) geüpload. Eindgebruikers die verantwoordelijk zijn voor bedrijfsapplicaties, datamining en andere bedrijfsactiviteiten krijgen toegang tot de informatie die ze nodig hebben vanuit de Olap-kubus.

Voordelen van het arraymodel

OLAP is een tool die snelle queryprestaties biedt, wat wordt bereikt door geoptimaliseerde opslag, multidimensionale indexering en caching, die tot de belangrijke voordelen van het systeem behoren. Daarnaast zijn de voordelen:

  1. Kleinere gegevensgrootte op schijf.
  2. Geautomatiseerde berekening van gegevensaggregaten op een hoger niveau.
  3. Arraymodellen zorgen voor natuurlijke indexering.
  4. Effectieve data-extractie wordt bereikt door voorafgaande structurering.
  5. Compactheid voor laagdimensionale datasets.

De nadelen van OLAP zijn onder meer het feit dat sommige beslissingen (verwerkingsstappen) behoorlijk lang kunnen duren, vooral bij grote hoeveelheden informatie. Dit wordt meestal gecorrigeerd door alleen incrementele verwerking uit te voeren (leren van de gegevens die zijn gewijzigd).

Basis analytische handelingen

Convolutie(roll-up/drill-up) wordt ook wel “consolidatie” genoemd. Instorten houdt in dat je alle gegevens neemt die kunnen worden verkregen en alles in een of meer dimensies berekent. Meestal vereist dit het gebruik van een wiskundige formule. Als OLAP-voorbeeld kunnen we een winkelketen overwegen met verkooppunten in verschillende steden. Om patronen te identificeren en te anticiperen op toekomstige verkooptrends, worden verkoopgegevens van alle locaties “opgerold” naar de belangrijkste verkoopafdeling van het bedrijf voor consolidatie en berekening.

Openbaring(inzoomen). Dit is het tegenovergestelde van oprollen. Het proces begint met een grote dataset en splitst deze vervolgens op in kleinere delen, waardoor gebruikers de details kunnen bekijken. In het voorbeeld van de winkelketen analyseert de analist verkoopgegevens en kijkt hij naar de individuele merken of producten die bij elk verkooppunt in verschillende steden als bestsellers worden beschouwd.

Sectie(Snijd en dobbelsteen). Dit is een proces waarbij analytische bewerkingen twee acties omvatten: het extraheren van een specifieke set gegevens uit een OLAP-kubus (het ‘knippende’ aspect van de analyse) en het bekijken ervan vanuit verschillende gezichtspunten of invalshoeken. Dit kan gebeuren wanneer alle verkooppuntgegevens zijn ontvangen en in de hypercube zijn ingevoerd. Een analist haalt een reeks gegevens met betrekking tot verkopen uit een OLAP-kubus. Vervolgens zal het worden bekeken bij het analyseren van de verkoop van individuele eenheden in elke regio. Gedurende deze tijd kunnen andere gebruikers zich concentreren op het beoordelen van de kosteneffectiviteit van verkopen of het beoordelen van de effectiviteit van een marketing- en reclamecampagne.

Draai(Scharnier). Het roteert de gegevensassen om een ​​vervangende weergave van informatie te bieden.

Soorten databases

Kortom, het is een typische OLAP-kubus die de analytische verwerking van multidimensionale gegevens implementeert met behulp van OLAP Cube of een andere datakubus, zodat het analytische proces indien nodig dimensies kan toevoegen. Alle informatie die in een multidimensionale database wordt geladen, wordt opgeslagen of gearchiveerd en kan indien nodig worden opgeroepen.

Betekenis

Relationele OLAP (ROLAP)

ROLAP is een geavanceerd DBMS samen met multidimensionale data mapping om standaard relationele bewerkingen uit te voeren

Multidimensionaal OLAP (MOLAP)

MOLAP - implementeert werk in multidimensionale gegevens

Hybride online analytische verwerking (HOLAP)

Bij de HOLAP-aanpak worden geaggregeerde totalen opgeslagen in een multidimensionale database en wordt gedetailleerde informatie opgeslagen in een relationele database. Dit biedt zowel de efficiëntie van het ROLAP-model als de prestaties van het MOLAP-model

Desktop-OLAP (DOLAP)

In Desktop OLAP downloadt de gebruiker lokaal of naar zijn desktop een stukje gegevens uit een database en analyseert deze. DOLAP is relatief goedkoper in gebruik omdat het zeer weinig functionaliteit biedt in vergelijking met andere OLAP-systemen

Web-OLAP (WOLAP)

Web OLAP is een OLAP-systeem dat toegankelijk is via een webbrowser. WOLAP is een architectuur met drie lagen. Het bestaat uit drie componenten: client, middleware en databaseserver

Mobiel OLAP

Met Mobile OLAP kunnen gebruikers OLAP-gegevens openen en analyseren met behulp van hun mobiele apparaten

Ruimtelijk OLAP

SOLAP is gemaakt om het beheer van zowel ruimtelijke als niet-ruimtelijke gegevens in een geografisch informatiesysteem (GIS) te vergemakkelijken

Er zijn minder bekende OLAP-systemen of -technologieën, maar dit zijn de belangrijkste die momenteel worden gebruikt door grote bedrijven, bedrijven en zelfs overheden.

OLAP-hulpmiddelen

Online analysetools zijn zeer goed aanwezig op internet, zowel in betaalde als gratis versies.

De meest populaire van hen:

  1. Dundas BI van Dundas Data Visualization is een browsergebaseerd platform voor business intelligence en datavisualisatie dat geïntegreerde dashboards, OLAP-rapportage en data-analyse omvat.
  2. Yellowfin is een business intelligence-platform dat één geïntegreerde oplossing biedt, ontworpen voor bedrijven van verschillende industrieën en groottes. Dit systeem is op maat gemaakt voor ondernemingen op het gebied van boekhouding, reclame en landbouw.
  3. ClicData is een business intelligence (BI)-oplossing die voornamelijk is ontworpen voor gebruik door kleine en middelgrote bedrijven. Met de tool kunnen eindgebruikers rapporten en dashboards maken. Board is ontworpen om business intelligence en corporate performance management te integreren en is een compleet systeem dat middelgrote en grote bedrijven bedient.
  4. Domo is een cloudgebaseerd bedrijfsbeheerpakket dat kan worden geïntegreerd met meerdere gegevensbronnen, waaronder spreadsheets, databases, sociale media en elke bestaande cloud- of lokale softwareoplossing.
  5. InetSoft Style Intelligence is een softwareplatform voor bedrijfsanalisten waarmee gebruikers dashboards, visuele OLAP-analysetechnologie en rapporten kunnen maken met behulp van een mashup-engine.
  6. Birst van Infor Company is een webgebaseerde oplossing voor bedrijfsinformatie en analyse die de inzichten van diverse teams met elkaar verbindt, zodat u weloverwogen beslissingen kunt nemen. Met de tool kunnen gedecentraliseerde gebruikers het ondernemingsteammodel opschalen.
  7. Halo is een uitgebreid supply chain management- en business intelligence-systeem dat helpt bij bedrijfsplanning en voorraadprognoses voor supply chain management. Het systeem maakt gebruik van gegevens uit alle bronnen: groot, klein en daartussenin.
  8. Chartio is een cloudgebaseerde business intelligence-oplossing die oprichters, bedrijfsteams, data-analisten en productteams organisatorische hulpmiddelen biedt voor hun dagelijkse werk.
  9. Exago BI is een webgebaseerde oplossing ontworpen voor implementatie in webapplicaties. Door Exago BI te implementeren, kunnen bedrijven van elke omvang hun klanten voorzien van op maat gemaakte, tijdige en interactieve rapportage.

Zakelijke impact

De gebruiker zal OLAP aantreffen in de meeste zakelijke toepassingen in verschillende sectoren. De analyse wordt niet alleen door het bedrijfsleven gebruikt, maar ook door andere geïnteresseerden.

Enkele van de meest voorkomende toepassingen zijn:

  1. Marketing OLAP-gegevensanalyse.
  2. Financiële rapportage, die de verkoop en uitgaven, budgettering en financiële planning omvat.
  3. Beheer van bedrijfsprocessen.
  4. Verkoopanalyse.
  5. Databasemarketing.

De industrieën blijven groeien, wat betekent dat gebruikers binnenkort meer OLAP-toepassingen zullen zien. Multidimensionale adaptieve verwerking zorgt voor een meer dynamische analyse. Het is om deze reden dat deze OLAP-systemen en -technologieën worden gebruikt om wat-als-scenario's en alternatieve bedrijfsscenario's te evalueren.