OLAP kostky v kostce

Možná jste už někdy slyšeli pojem OLAP kostka. Nejčastěji ho můžete zaslechnout mezi manažery a controllery. Jedná se o důležitý nástroj pro analýzu dat uložených v databázi. Obvykle také tvoří základ pro business intelligence řešení. Co to ale vlastně OLAP kostky jsou, jak je lze rozdělit a k čemu slouží?

Online analýza dat

OLAP je zkratka pro Online Analytical Processing neboli online analytické zpracování dat. Jde o způsob zpracování komplexnějších, či chcete-li vícerozměrných, databázových dotazů. Ty se obvykle provádějí nad velkými objemy dat, která jsou dávkově naimportována do oddělených částí databáze (případně oddělených databázových serverů), jež nemají za úkol jejich zadávání, editaci či mazání, ale čistě jen analýzu. V OLAP je kladen důraz na rychlé výstupy, neřeší se zde například duplicita některých dat, využívá se často více indexů (tj. sloupců s unikátními hodnotami v rámci dané databázové tabulky) a často také obsahuje již předzpracovaná data z původní databáze (např. souhrn denních tržeb, a nikoliv data o každé jedné tržbě). To vše přispívá ke zvyšování rychlosti provádění analýzy dat.

Pojem kostka (případně krychle) se objevuje proto, že v této části databáze se provádí velice často tzv. MDA – multidimenzionální analýza, tedy statistické zpracování dat, které je rozděluje na dva typy – datové dimenze a měření a kdy už nestačí tradiční dvojrozměrný, „tabulkový“ pohled na data.  Příkladem takové kostky může být třeba dotaz nad databází veškerých výsledků českých olympioniků, jenž bude mít za úkol vypsat všechny muže, běžce, kteří zároveň získali nějakou medaili. Vytvořením tohoto dotazu vznikne OLAP kostka, v níž budeme moci zkoumat, ve kterých běžeckých disciplínách soutěžili, jaké měli časy, kolik jim tehdy bylo let, z kterého sportovního klubu nejčastěji pocházeli a podobně.

Základní operace s OLAP kostkami

OLAP kostky umožňují několik základních operací. Krájení a kostkování (anglicky slicing and dicing) slouží k omezení jedné nebo více dimenzí na podmnožinu o jednom, respektive dvou a více prvcích. Například když z naší modelové kostky odřízneme údaje jen pro 400 metrů překážek.

Roll up a drill down – český ekvivalent pohybu nahoru a zavrtávání se dolů se nepoužívá – slouží k postupné navigaci v hierarchii dat. V naší modelové kostce se tak můžeme zaměřit čistě na výsledky LOH v Londýně 2012 a tam třeba na výsledky pouze v disciplíně 400 m překážek.

Pivotování neboli otáčení kostky slouží k získání jiného pohledu na ta samá data. Třeba když se místo na počty medailí našich běžců na jednotlivých olympijských hrách podíváme na počty medailí jednotlivých běžců na jednotlivých olympijských hrách.

Agregace je operace sloužící ke konsolidaci dat dle určitého vzorce. Kupříkladu když budeme chtít součet všech medailí za běh z jednotlivých olympijských her.

Jak se pracuje s OLAP kostkami

OLAP kostky se vytvářejí přímo nad příslušným databázovým serverem a daty, jež zpracovává a ukládá. K práci s OLAP kostkami existují různé typy nástrojů. Jedním z nich je mimochodem i Microsoft Excel, který umí data a připravené OLAP kostky, přímo naimportovat a nad nimi provádět běžné operace, jež znáte z kontingenčních grafů a tabulek.

Další možností je práce s OLAP kostkami, třeba předpřipravenými reporty, přímo v rámci podnikového informačního systému. Pokud budeme mít v ERP systému například data všech sportovců, již ČR reprezentovali na olympijských hrách, a naším úkolem bude starat se pouze o běžce, můžeme mít přímo v ERP systému připravený report nad naší modelovou OLAP kostkou. Ten nám obratem odpoví, kteří naši běžci na kterých olympiádách získali jakou medaili.

A konečně třetím velmi častým způsobem je specializované business intelligence řešení, které nám obvykle umožní interaktivní analýzu dat. V našem příkladu to znamená, že když budeme chtít větší detail informací o sportovci, jenž v naší tabulce figuruje s pěti medailemi, klikneme na jeho záznam a zobrazí se nám třeba jeho aktuální osobní rekord, sportovní klub či informace o účasti na dalších závodech mimo olympijských her.

Jak se připravují OLAP kostky

OLAP kostky je třeba připravit na daném databázovém serveru. Část z nich obvykle najdete předpřipravenou už v rámci business intelligence řešení, které daný databázový server využívá, zbytek si můžete nechat připravit od jeho dodavatele, případně od svého firemního databázového specialisty. Velkou výhodou OLAP kostek přitom je, že zatěžují databázový server mnohem méně, než kdybyste obdobné databázové dotazy připravovali ad hoc a nad „živými“ daty, tedy daty z jednotlivých databázových tabulek, s nimiž se v tu chvíli neustále pracuje.