Datové kostky

DEFINICE Datové kostky (data cubes) jsou druhem vícedimenzionální matice, která uživatelům umožňuje zkoumat a analyz...


DEFINICE
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.
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 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
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
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
nevidíme zde 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ářů.

Datové kostky v praxi
Podívejme se na tvorbu datové kostky prostřednictvím následujícího příkladu, ve
kterém využijeme údaje o prodejích firmy XYZ, která vyrábí mnoho druhů výrobků.
U každé prodejní transakce známe čtyři údaje: n typ produktu
obchod nebo obchodníka
celkovou účtovanou částku
geografický region nebo území
V situaci vycházející z reálného světa bychom znali také celou řadu dalších
údajů, a to včetně:
množství
zákazníka
jednotkových nákladů firmy XYZ u každého výrobku
data objednávky
data dodávky
způsobu a ceny dopravy
Libovolný z výše uvedených údajů může fungovat jako rozměr datové kostky.
Můžeme zvolit libovolné dva rozměry a vytvořit dvojrozměrnou tabulku 1. Pokud
přidáme třetí faktor, například oblast prodeje, lze vytvořit trojrozměrnou
datovou kostku 2, s jejíž pomocí můžeme zjistit kde se kolik prodává.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.