OLAP

OLAP ( engelska  online analytical processing , interactive analytical processing) är en databearbetningsteknik som består i att utarbeta sammanfattande (aggregerad) information baserad på stora datamatriser strukturerade enligt en flerdimensionell princip. Implementeringar av OLAP-teknik är komponenter i mjukvarulösningar av Business Intelligence -klassen [1] .

Grundaren av termen OLAP - Edgar Codd , föreslog 1993 "12 regler för analytisk bearbetning i realtid" (liknande de tidigare formulerade " 12 reglerna för relationsdatabaser ").

OLAP-åtgärd

Anledningen till att använda OLAP för frågebehandling är hastighet. Relationsdatabaser lagrar enheter i separata tabeller, som vanligtvis är väl normaliserade. Denna struktur är bekväm för operativa databaser ( OLTP -system ), men komplexa flertabellsfrågor är relativt långsamma i den.

En OLAP-struktur skapad från produktionsdata kallas en OLAP-kub . En kub skapas från att sammanfoga tabeller med antingen ett stjärnschema eller ett snöflingaschema . I mitten av stjärnschemat finns faktatabellen , som innehåller nyckelfakta för vilka frågor görs. Flera tabeller med dimensioner är kopplade till en faktatabell. Dessa tabeller visar hur aggregerad relationsdata kan analyseras. Antalet möjliga aggregationer bestäms av antalet sätt på vilka originaldata kan visas hierarkiskt.

Till exempel kan alla kunder grupperas efter stad eller landsregion (väst, öst, norr och så vidare), så 50 städer, åtta regioner och två länder utgör tre nivåer i en hierarki med 60 medlemmar. Även kunder kan grupperas i förhållande till produkter; om det finns 250 produkter i 20 kategorier, tre produktgrupper och tre produktdivisioner, blir antalet aggregat 16 560. När dimensioner läggs till i schemat når antalet möjliga alternativ snabbt upp till tiotals miljoner eller mer.

En OLAP-kub innehåller grundläggande data och dimensionsinformation (aggregat). Kuben innehåller potentiellt all information som kan krävas för att besvara eventuella frågor. Med ett stort antal enheter sker ofta en fullständig beräkning endast för vissa mätningar, för resten görs det "på begäran".

Det finns tre typer av OLAP: [2]

MOLAP är den klassiska formen av OLAP, så den kallas ofta helt enkelt OLAP. Den använder en summeringsdatabas och skapar det erforderliga flerdimensionella dataschemat och bevarar både underliggande data och aggregaten.

ROLAP arbetar direkt med en relationsdatabas , fakta- och dimensionstabeller lagras i relationstabeller och ytterligare relationstabeller skapas för att lagra aggregat.

HOLAP använder relationstabeller för att lagra grundläggande data och flerdimensionella tabeller för att lagra aggregat.

Ett specialfall av ROLAP är ROLAP i realtid ( R-ROLAP ). Till skillnad från ROLAP skapar inte R-ROLAP ytterligare relationstabeller för att lagra aggregat, men aggregat beräknas vid tidpunkten för frågan. I det här fallet konverteras en flerdimensionell fråga till OLAP-systemet automatiskt till en SQL-fråga till relationsdata.

Varje typ av förvaring har vissa fördelar, även om det råder oenighet i deras bedömning av olika tillverkare. MOLAP lämpar sig bäst för små datamängder, den beräknar snabbt aggregat och returnerar svar, men genererar enorma mängder data. ROLAP anses vara en mer skalbar lösning, mer ekonomisk när det gäller lagringsutrymme, men med begränsningar i analytiska bearbetningsmöjligheter. HOLAP är mitt i dessa två tillvägagångssätt, det skalar ganska bra och övervinner ett antal begränsningar. R-ROLAP-arkitekturen tillåter multidimensionell realtidsanalys av OLTP-data.

Komplexiteten i att använda OLAP kommer från att skapa frågor, välja underliggande data och designa schemat, med resultatet att de flesta OLAP-produkter kommer med ett stort antal förkonfigurerade frågor. Ett annat problem är i basdata, de måste vara fullständiga och konsekventa.

OLAP-implementeringar

Historiskt sett är det första flerdimensionella databashanteringssystemet som i huvudsak är en OLAP-implementering Express- systemet , utvecklat 1970 av IRI (senare förvärvades rättigheterna till produkten av Oracle Corporation och förvandlades till ett OLAP-alternativ för Oracle Database ) [3] . Termen OLAP introducerades av Edgar Codd i en publikation 1993 i Computerworld [4] , där han föreslog 12 principer för analytisk bearbetning, liknande de 12 reglerna för relationsdatabaser som formulerades av honom ett decennium tidigare, som en referensprodukt som uppfyller föreslagna principer, Codd påpekade Arbors Essbase -system (övertogs 1997 av Hyperion , som i sin tur köptes av Oracle 2007). Notably, publikationen togs därefter bort från Computerworld -arkiven på grund av potentiella intressekonflikter, eftersom Codd senare tillhandahöll konsulttjänster för Arbor [5] .

När det gäller implementering är de uppdelade i "fysisk OLAP" och "virtuell" (relationell, eng.  Relationell OLAP , ROLAP ). "Fysisk", i sin tur, beroende på genomförandet är uppdelad i flerdimensionell ( engelska  Multidimensional OLAP , MOLAP ) och hybrid - ( English  Hybrid OLAP , HOLAP ).

I det första fallet finns det ett program som vid förladdningsstadiet för data till OLAP utför en preliminär beräkning av aggregat (beräkningar på flera initiala värden, till exempel "totalt för månaden"), som sedan lagras i en speciell flerdimensionell databas som ger snabb hämtning och ekonomisk lagring.

Hybridimplementeringen är en kombination: själva data lagras i en relationsdatabas och aggregaten lagras i en flerdimensionell.

I ROLAP-implementeringar lagras och bearbetas all data i relationsdatabashanteringssystem, och aggregationer kanske inte existerar alls eller skapas vid första begäran till databasen eller analysprogramvarucachen.

Ur användarens synvinkel ser alla alternativ lika ut vad gäller kapacitet. OLAP finner den största användningen i produkter för finansiell planering, datalager , business intelligence -klasslösningar .

Kommersiella produkter inkluderar: Microsoft SQL Server Analysis Services , Essbase , Oracle Database OLAP Option, IBM Cognos TM1 ; det finns flera gratislösningar , bland dem noteras Mondrian och Palo [6] .

Se även

Anteckningar

  1. Definitioner av IT-termer  (engelska)  (otillgänglig länk) . Gartner ( 2011 ). Hämtad 12 juni 2011. Arkiverad från originalet 3 februari 2012.
  2. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5  - Sida 123 "4.2 OLAP Server Architectures"
  3. Pendse, Nigel. Ursprunget till dagens OLAP-  produkter . OLAP-rapport (20 juli 2002). — «1992. Essbase lanseras. Första välmarknadsförda OLAP-produkt, som fortsatte att bli den marknadsledande OLAP-servern 1997." Tillträdesdatum: 3 januari 2011. Arkiverad från originalet den 21 december 2007.
  4. Codd, Edgar F. Tillhandahåller OLAP till användaranalytiker: An IT-mandat // Computerworld . - T. 27 , nr 30 . ISSN 0010-4841 . Arkiverad från originalet den 11 november 1998.
  5. Whitehorn, Mark OLAP och behovet av SPEED. I en annan dimension  (eng.)  (länk ej tillgänglig) . utvecklare . Registret (26 januari 2007). — "Efter att tidningen publicerats blev den en del känd eftersom Codd hade utfört konsultarbete för Arbor Software (nu Hyperion). Detta var olyckligt eftersom tidningen aktivt diskuterade en av Arbors produkter, Essbase. Till slut tog Computerworld det ovanliga steget att dra tillbaka artikeln; inte desto mindre markerar detta dokument tydligt början på termens användning". Hämtad 11 oktober 2011. Arkiverad från originalet 3 februari 2012.
  6. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0-387-33333-5  - Sida 127 "4.5 Exempel på kommersiella OLAP-verktyg"

Länkar