Zaostřeno na datové kostky

Matematika |

Datové kostky jsou vícerozměrným rozšířením dvourozměrných tabulek, stejně jako je v geometrii krychle rozšířením dvourozměrného čtverce. Slovo kostka posouvá představu směrem k trojrozměrným objektům, a trojrozměrnou datovou kostku si můžeme představit jako sadu podobně strukturovaných dvourozměrných tabulek, navršených jedna na druhou.




Datové kostky (data cubes) jsou druhem vícedimenzionální matice, která uživatelům umožňuje zkoumat a analyzovat soubor dat z mnoha různých perspektiv. Obvykle je přitom k dispozici současně trojice dimenzí.

Pokud potřebujeme extrahovat informaci z množství údajů, potřebujeme k tomu nástroje, které nám pomohou rychle zjistit, co je relevantní a důležité, případně umožní prozkoumat různé scénáře. Tabulka, ať již vytištěná na papíře nebo zobrazená na monitoru, je přinejlepším dvourozměrným zobrazením dat — s řádky a sloupci. To postačuje, pokud je třeba zvážit pouze dva faktory, nicméně v reálném světě potřebujeme silnější nástroje.
Datové kostky jsou vícerozměrným rozšířením dvourozměrných tabulek, stejně jako je v geometrii krychle rozšířením dvourozměrného čtverce. Slovo kostka posouvá představu směrem k trojrozměrným objektům, a trojrozměrnou datovou kostku si můžeme představit jako sadu podobně strukturovaných dvourozměrných tabulek, navršených jedna na druhou.
Nicméně datové kostky se nemusejí nutně omezovat jen na trojici rozměrů. Většina analytických OLAP (On-line Analytical Processing) systémů umí vytvářet kostky s daleko více rozměry -– Microsoft SQL Server 2000 Analytical Services například nabízí až 64 rozměrů. Čtyřrozměrnou datovou kostku si můžeme představit jako řadu trojrozměrných datových kostek, nicméně vizualizace podobných vícerozměrných entit může z prostorového nebo geometrického hlediska představovat problém.
V praxi proto sestavujeme datové kostky o mnoha rozměrech, ale máme tendenci dívat se v jednom okamžiku pouze na 3 rozměry. Velmi cenná je možnost indexování kostek na základě jednoho či více rozměrů.

Je na výběr

Jelikož jsou datové kostky tak užitečným nástrojem pro interpretaci údajů, většina OLAP produktů je postavena na struktuře, v níž je kostka zobrazena jako vícerozměrné pole. Tyto vícedimenzionální OLAP či MOLAP (Multidimensional OLAP) produkty fungují většinou rychleji než nástroje využívající jiné přístupy, a to primárně proto, že lze přímo ve struktuře datových kostek vytvářet indexy sloužící ke sběru podsouborů dat.
Nicméně u velmi rozsáhlých souborů dat s mnoha dimenzemi již nejsou řešení MOLAP vždy tak efektivní. S narůstajícím počtem rozměrů se kostky stávají rozptýlenějšími –- mnoho buněk představujících specifické kombinace atributů je tedy prázdných, neobsahují žádné agregované údaje. A tak jako u dalších typů rozptýlených databází dochází i zde ke zvyšování požadavků na prostor pro ukládání dat, a to někdy až do nepřijatelné úrovně. Zde mohou pomoci kompresní techniky, ale jejich využití obvykle znamená zničení přirozeného MOLAP indexování.
Datové kostky lze vytvářet také jinými způsoby. Relační OLAP (ROLAP) využívá model relační databáze. ROLAP datová kostka je vytvořena jako sbírka relačních tabulek (jejichž počet je nanejvýš dvakrát vyšší než počet rozměrů), nikoliv jako vícerozměrné pole. Každá z těchto tabulek (nazývaná kvádr –- kuboid) přestavuje určitý pohled.
Protože jsou kuboidy běžnými databázovými tabulkami, lze je zpracovávat a dotazovat pomocích tradičních RDBMS technik, jako jsou indexy a propojení. Tento formát je pravděpodobně efektivní u velkých souborů dat, jelikož tabulky musejí obsahovat pouze takové buňky datové kostky, které skutečně obsahují nějaká data.
Nicméně ROLAP kostky postrádají vestavěné indexování, které je vlastní implementaci MOLAP. Namísto něj musí každý záznam v dané tabulce obsahovat kromě agregovaných nebo sumárních hodnot také všechny hodnoty atributů. Tato dodatečná režie může vyvažovat určitou část úspor místa, a absence implicitního indexu znamená nutnost poskytovat index explicitně.

Další záležitosti

Z pohledu struktury se datové kostky skládají nejvýše ze dvou prvků: z rozměrů a hodnot. Rozměry již byly objasněny výše, hodnotami se pak rozumí vlastní hodnoty dat.
Je důležité si uvědomit, že datová kostka již byla zpracována a agregována do podoby kostky. Proto běžně neprovádíme v rámci datových kostek výpočty. A také u datových kostek nevidíme dynamické údaje v reálném čase.
Data v nich obsažená již byla sumarizována pro zobrazování takových údajů, jako je prodej v rámci obchodní jednotky, obchodu, regionu, čistého zisku z prodeje nebo například času potřebného na vyřízení objednávky. S pomocí těchto údajů může analytik efektivně provádět rozbor všech nebo vybraných údajů u všech nebo zvolených produktů, zákazníků, prodejců atd. Proto mohou být datové kostky extrémně užitečné pro zjišťování trendů a pro analýzu výkonu. Oproti tomu tabulky jsou nejvhodnější pro vytváření zpráv týkajících se standardizovaných provozních scénářů.

Tento článek je překladem z amerického Computerworldu. Plná verze českého textu vyšla v CW 23/2004.








Související články




Komentáře

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.