10. Datové sklady (Data Warehouses) Datový sklad komplexní data uložená ve struktuře, která umožňuje efektivní analýzu a dotazování data čerpána z primárních informačních systémů a dalších zdrojů OLAP (on-line analytical processing) pružné (rychlé) zpracování dotazů a analýz Vrstvy: spodní - server skladu, na kterém jsou uloženy relační databáze (datový sklad) prostřední (aplikační) relační OLAP (ROLAP) - převádí operace nad multidimenzionálními daty na standardní relační operace nebo multidimensionální OLAP (MOLAP) umí přímo pracovat s multidimenzionálními daty a operacemi vrchní vrchní - obsahuje nástroje pro provádění dotazů a vytváření zpráv, analýzy a/nebo data miningové nástroje (analýzy trendu, predikce, apod.) Systém datového hospodaření lze rozdělit na dvě základní části: OLAP určen výhradně ke čtení dat pro potřeby nejrůznějších analýz 1
výjimkou jsou (obvykle periodické) aktualizace datového skladu, tj. přidávání nových datových agregátů či odstraňování již neaktuálních datových agregátů, které probíhají obvykle periodicky každý týden, měsíc, atp. OLTP (on-line transaction processing) klasické databázové systémy uchovávají záznamy o jednotlivých uskutečněných (typicky obchodních) transakcích a jsou obvykle realizovány pomocí dnes nejběžnější relační databázové technologie data periodicky agregována (typicky sumarizována) a poté ukládána do datového skladu, nad nímž se posléze podle potřeb provádí okamžité zpracování analýz pomocí vrstvy OLAP Plnění datového skladu ETL (extraction-transformation- load): 1) extrahování z primárních datových zdrojů 2) transformace (převod dat získaných z jednotlivých datových zdrojů do unifikovaného datového modelu, nad nímž je možné vytvářet agregace) 3) uložení dat do datového skladu shrnutí: znak OLTP OLAP charakteristika provozní zpracování informační zpracování orientace transakční analytická uživatel funkce úředník, databázový administrátor každodenní operace znalostní pracovník (manažer, analytik) dlouhodobé informační požadavky, podpora rozhodování návrh databáze entitně-relační základ, aplikačně orientovaný hvězda/sněžná vločka, věcná orientace data současná, zaručeně aktuální historická sumarizace dat základní, vysoce detailní shrnutá, kompaktní náhled detailní shrnutý, multidimensionální jednotky práce krátké, jednoduché transakce komplexní dotazy přístup číst a zapisovat většinou pouze číst zaměření vkládání dat získávání informací počet dostupných záznamů desítky miliony počet uživatelů tisíce stovky velikost databáze 100 MB až GB 100 GB až TB přednosti vysoký výkon, vysoká vysoká flexibilita, nezávislost přístupnost koncového uživatele míry hodnocení propustnost transakcí propustnost dotazů a doba odezvy Typy datových skladů: Podnikový sklad (enterprice warehouse) sbírá všechny informace o subjektech, které obklopují celou organizaci provádí integraci celopodnikových dat pocházejících obvykle z jednoho nebo více provozních systémů nebo od externího poskytovatele informací 2
obvykle obsahují detailní i sumarizované údaje velikost od několika gigabyte až po stovky terabyte vyžadují rozsáhlé modelování a jejich návrh a vytvoření může trvat několik let Datová tržiště (data mart) obsahuje pouze podmnožinu celopodnikových dat, která je určená pro specifickou skupinu uživatelů nezávislé (získávají data z provozních systémů nebo z externích informačních zdrojů) závislé (data jsou jim dodávána z podnikového datového skladu) jejich tvorba se pohybuje v řádu týdnů Virtuální sklad (virtual warehouse) sada náhledů na provozní databáze pro efektivnější provádění dotazů jsou některé náhledy na sumarizace provedeny před vznikem vlastního požadavku a uloženy virtuální sklad je snadné vytvořit, ale vyžaduje dodatečné kapacity na provozních serverech Uložení dat v OLAP systémech: Vedle relačních OLAP systémů (ROLAP), se prosazuje tzv. multidimensionální databázová technologie (MOLAP). V praxi se často používá výhod obou přístupů (HOLAP hybrid OLAP), kdy základní technologií datového skladu je relační technologie a jisté často zpřístupňované výseky tohoto datového skladu (tzv. data marts) jsou duplicitně uloženy v datových krychlích implementovaných jako multidimensionální databáze, které poskytují řádově rychlejší časové odezvy než základní relační struktura. MOLAP multidimensionální způsob uložení dat s vysokým výkonem data ukládána na OLAP server poskytuje nejlepší výkon ve fázi dotazování (analýzy) vhodný pro malé až středně velké objemy dat, kdy kopírování všech dat do multidimensionálního formátu nevyžaduje výrazně dlouhou dobu nebo nespotřebovává příliš mnoho diskového prostoru ROLAP data zůstávají v původních relačních databázích oddělená sada relačních tabulek je použita k uložení agregací vhodný pro rozsáhlé databáze nebo na stará data, která nejsou často analyzována HOLAP slučuje prvky z předešlých dvou přístupů ponechává původní data v relačních tabulkách, ale ukládá agregace v multidimensionálním formátu poskytuje propojení mezi rozsáhlými objemy dat v relačních tabulkách a zároveň nabízí výhodu rychlejšího výkonu multidimensionálně uložených agregací Základní operace v OLAP systémech: Drill-down umožňuje uživateli ve zvolených instancích jisté agregační úrovně nastavit nižší (jemnější) agregační úroveň Roll-up jde o opak předešlé operace. Ve zvolených instancích jisté agregační úrovně nastavuje vyšší (hrubší) agregační úroveň. 3
Pivoting umožňuje otáčet datovou krychlí, tj. měnit úhel pohledu na data na úrovni presentace obsahu datového skladu. Slicing dovoluje provádět řezy datovou kostkou, tj. nalézt pohled, v němž je jedna dimenze fixována v jistých instancích jisté agregační úrovně. Jinými slovy tato dimenze aplikuje filtr na instance příslušné agregační úrovně dané dimenze. Dicing je obdobou slicingu, jenž umožňuje nastavit takový filtr pro více dimenzí. Datové kostky: Dimenze kostky reprezentují rozdílné kategorie pro analýzu dat. Kategorie jako například čas, geografické umístění nebo různé výrobkové řady jsou typickými dimenzemi v datových kostkách. Dimenze jsou obvykle uspořádány do hierarchií tak, že mapují sloupce v relačních databázích. Hierarchie dimenzí jsou seskupovány do úrovní obsahujících hodnoty dané dimenze. Každá úroveň v dimenzi může být sumarizována, aby vytvořila hodnoty pro vyšší úroveň. Např. v dimenzi času sumarizací hodnot v úrovni den získáme hodnoty pro vyšší úroveň měsíc. Míry jsou kvantitativní hodnoty v databázi, které mají být analyzovány. Typickými mírami bývají prodeje, náklady a rozpočty. Míry jsou analyzovány oproti různým kategoriím dimenzí datové kostky. Např. analýza prodejů (míra) určitého výrobku (dimenze) v různých zemích (konkrétní úroveň dimenze geografická poloha) během dvou určitých roků (úroveň dimenze čas). Tato datová kostka reprezentuje data ve třech dimenzích. A to dimenze Umístění, Času a Položky. Aktuálně zobrazenou úrovní dimenze Času je úroveň Měsíc. U Umístění je to Město a u Položky Druh zboží. Mírou tohoto zobrazení jsou Prodané kusy (v tisících). Potom např. hodnota 12 udává, že v Praze v měsíci Březnu bylo prodáno 12 000 kusů Rohlíků. 4
Uložení dat v multidimenzionálních databázích: Star (hvězda) hvězdicové schéma se skládá z rozsáhlé centrální tabulky s hodnotami (tzv. tabulka faktů) a řadou malých doprovodných tabulek pro každou dimenzi každá dimenze reprezentována právě jednou tabulkou každá tabulka obsahuje několik atributů Snowflake (sněhová vločka) určitý druh hvězdicového schéma tabulky dimenzí normalizovány, čímž se data rozdělují do dalších tabulek nutno provádět více spojení tabulek, aby mohly být provedeny potřebné dotazy, což může snížit efektivitu analýzy dat méně používané než schéma hvězdy Fast Constellation (galaxie nebo souhvězdí) více tabulek faktů, aby mohly aplikace sdílet tabulky dimenzí soubor hvězd Shrnutí některé důležité pojmy: datový sklad OLAP systémy datové kostky Zdrojová literatura: HORÁK, Jiří, HORÁKOVÁ, Bronislava. Datové sklady a využití datové struktury typu hvězda pro prostorová data. GIS Ostrava 2007 [online]. 2007. Dostupný z WWW: <http://gis.vsb.cz/gis_ostrava/gis_ova_2007/sbornik/referaty/sekce3/hvezdaf4.pdf>. VÍTEK. Data Warehousing. Solutions [online]. 2002. Dostupný z WWW: <http://datamining.xf.cz/view.php?cisloclanku=2002102808>. 5
Řešte: 1. Které ze schémat uložení dat neexistuje? a)star b)moon c)snowflake 2. Co představuje spodní vrstvu datového skladu? a) OLAP b) nástroje pro provádění dotazů c)server skladu 3. Jaké znáte typy datových skladů? Pokuste se je i charakterizovat. 4. Pokuste se stručně popsat proces plnění datového skladu ETL. 5. Datové kostky jsou? Pokuste se stručně vysvětlit. 6