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
znak charakteristika orientace uživatel funkce návrh databáze data sumarizace dat náhled jednotky práce přístup zaměření počet dostupných záznamů počet uživatelů velikost databáze přednosti míry hodnocení
shrnutí: OLTP provozní zpracování transakční úředník, databázový administrátor každodenní operace entitně-relační základ, aplikačně orientovaný současná, zaručeně aktuální základní, vysoce detailní detailní krátké, jednoduché transakce číst a zapisovat vkládání dat
OLAP informační zpracování analytická znalostní pracovník (manažer, analytik) dlouhodobé informační požadavky, podpora rozhodování hvězda/sněžná vločka, věcná orientace historická shrnutá, kompaktní shrnutý, multidimensionální komplexní dotazy většinou pouze číst získávání informací
desítky
miliony
tisíce 100 MB až GB vysoký výkon, vysoká přístupnost propustnost transakcí
stovky 100 GB až TB vysoká flexibilita, nezávislost koncového uživatele 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:
.
VÍTEK. Data Warehousing. Solutions [online]. 2002. Dostupný z WWW: .
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