OLAP ( anglicky online analytické zpracování , interaktivní analytické zpracování) je technologie zpracování dat, která spočívá v přípravě souhrnných (agregovaných) informací na základě velkých datových polí strukturovaných podle vícerozměrného principu. Implementace technologie OLAP jsou součástí softwarových řešení třídy Business Intelligence [1] .
Zakladatel termínu OLAP - Edgar Codd navrhl v roce 1993 „12 pravidel pro analytické zpracování v reálném čase“ (podobně jako dříve formulované „ 12 pravidel pro relační databáze “).
Důvodem pro použití OLAP pro zpracování dotazů je rychlost. Relační databáze ukládají entity do samostatných tabulek, které jsou obvykle dobře normalizované. Tato struktura je vhodná pro operační databáze ( OLTP systémy ), ale složité vícetabulkové dotazy jsou v ní relativně pomalé.
Struktura OLAP vytvořená z produkčních dat se nazývá krychle OLAP . Krychle se vytvoří spojením tabulek pomocí hvězdicového schématu nebo schématu sněhové vločky . Ve středu hvězdicového schématu je tabulka faktů , která obsahuje klíčová fakta, na která se provádí dotazy. K tabulce faktů je připojeno více tabulek s rozměry. Tyto tabulky ukazují, jak lze analyzovat agregovaná Počet možných agregací je určen počtem způsobů, jakými lze hierarchicky zobrazit původní data.
Všichni zákazníci mohou být například seskupeni podle města nebo regionu země (západ, východ, sever atd.), takže 50 měst, osm regionů a dvě země tvoří tři úrovně hierarchie se 60 členy. Zákazníci mohou být také seskupeni podle produktů; pokud existuje 250 produktů ve 20 kategoriích, třech produktových skupinách a třech produktových divizích, pak bude počet agregací 16 560. Když jsou do schématu přidány dimenze, počet možných možností rychle dosáhne desítek milionů nebo více.
Krychle OLAP obsahuje základní data a informace o dimenzích (agregáty). Kostka potenciálně obsahuje všechny informace, které mohou být vyžadovány k zodpovězení jakýchkoli dotazů. Při velkém počtu jednotek často dochází k úplnému výpočtu pouze u některých měření, u ostatních se provádí „na vyžádání“.
Existují tři typy OLAP: [2]
MOLAP je klasickou formou OLAP, proto se často nazývá jednoduše OLAP. Využívá sumační databázi a vytváří požadované vícerozměrné datové schéma, přičemž zachovává jak základní data, tak agregace.
ROLAP pracuje přímo s relační databází , fakta a tabulky dimenzí jsou uloženy v relačních tabulkách a další relační tabulky jsou vytvořeny pro ukládání agregátů.
HOLAP používá relační tabulky k ukládání základních dat a multidimenzionální tabulky k ukládání agregátů.
Speciálním případem ROLAP je ROLAP v reálném čase ( R-ROLAP ). Na rozdíl od ROLAP nevytváří R-ROLAP další relační tabulky pro ukládání agregátů, ale agregáty se počítají v době dotazu. V tomto případě se vícerozměrný dotaz do systému OLAP automaticky převede na dotaz SQL na relační data.
Každý typ úložiště má určité výhody, i když v jejich hodnocení u různých výrobců panuje nesouhlas. MOLAP je nejvhodnější pro malé datové sady, rychle počítá agregace a vrací odpovědi, ale generuje obrovské množství dat. ROLAP je považován za škálovatelnější řešení, ekonomičtější z hlediska úložného prostoru, ale s omezeními ve schopnostech analytického zpracování. HOLAP je uprostřed těchto dvou přístupů, docela dobře se škáluje a překonává řadu omezení. Architektura R-ROLAP umožňuje multidimenzionální analýzu dat OLTP v reálném čase.
Složitost používání OLAP pochází z vytváření dotazů, výběru podkladových dat a návrhu schématu, takže většina produktů OLAP přichází s velkým množstvím předem nakonfigurovaných dotazů. Další problém je v základních datech, ty musí být úplné a konzistentní.
Historicky prvním multidimenzionálním databázovým systémem, který je v podstatě implementací OLAP, je systém Express , vyvinutý v roce 1970 společností IRI (později práva k produktu získala společnost Oracle Corporation a proměnila se v možnost OLAP pro databázi Oracle ) [3] . Termín OLAP zavedl Edgar Codd v publikaci z roku 1993 v Computerworld [4] , ve které navrhl 12 principů analytického zpracování, podobných 12 pravidlům pro relační databáze , které formuloval o deset let dříve, jako referenční produkt, který splňuje Codd poukázal na Arborův systém Essbase (převzatý v roce 1997 Hyperionem , který v roce 2007 koupil Oracle). Je pozoruhodné, že publikace byla následně odstraněna z archivů Computerworld kvůli potenciálnímu střetu zájmů, protože Codd později poskytoval poradenské služby pro Arbor [5] .
Z hlediska implementace se dělí na „fyzický OLAP“ a „virtuální“ (relační, angl. Relational OLAP , ROLAP ). "Fyzické" se zase v závislosti na implementaci dělí na vícerozměrné ( anglicky Multidimensional OLAP , MOLAP ) a hybridní - ( anglicky Hybrid OLAP, HOLAP ).
V prvním případě existuje program, který ve fázi předběžného načítání dat do OLAP provede předběžný výpočet agregátů (výpočty na několika počátečních hodnotách, například „celkem za měsíc“), které se pak uloží do speciální vícerozměrná databáze, která poskytuje rychlé vyhledávání a ekonomické skladování.
Hybridní implementace je kombinací: samotná data jsou uložena v relační databázi a agregáty jsou uloženy ve vícerozměrné.
V implementacích ROLAP jsou všechna data uložena a zpracována v systémech správy relačních databází a agregace nemusí vůbec existovat nebo mohou být vytvořeny při prvním požadavku do mezipaměti databáze nebo analytického softwaru.
Z uživatelského hlediska vypadají všechny možnosti z hlediska schopností podobně. OLAP nachází největší využití v produktech pro finanční plánování, datové sklady , řešení třídy business intelligence .
Komerční produkty zahrnují: Microsoft SQL Server Analysis Services , Essbase , Oracle Database OLAP Option, IBM Cognos TM1 ; existuje několik volných řešení, mezi nimi Mondrian a Palo [6] .
Úložiště dat | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
| ||||||||||||||
| ||||||||||||||
Kategorie |