název B = Bajt KB = Kilobajt MB = Megabajt GB = Gigabajt TB = Terabajt PB = Petabajt EB = Exabajt ZB = Zettabajt YB = Yottabajt velikost 8 b 2^10 B 2^20 B 2^30 B 2^40 B 2^50 B 2^60 B 2^70 B 2^80 B Jak velká jsou? FB 2012 40 miliard fotografií = 9,3PB Obchodní analytici velké datové sady BI = business intelligence analytické systémy OLAP = Online Analytical Processing databáze DWH = Data Warehouse datové sklady
technologie uložení dat v databázi OLTP = Online Transaction Processing umožňuje snadno a bezpečně ukládat změny ve víceuživatelském (konkurenčním) prostředí data jsou neustále modifikována více uživateli data vždy aktuální nad daty jsou prováděny jednorázové dotazy SQL OLAP = Online Analytical Processing umožňuje uspořádat velké objemy dat pro následnou analýzu obchodních trendů a výsledků tzv. BI=Business Intelligence data jsou pravidelně nahrávána jednorázově v dávkách (denně, týdně) nemění se, pouze pribývají nad daty jsou prováděny složité dotazy
BI = Business Intelligence informační analytické systémy analýza minulých a současných aktivit > předpovídání budoucích událostí nepodporují provozní aktivity (zpracování objednávky) usnadňují hodnocení, analýzu, plánování, řízení, rozhodování vhodné jako podpora pro management provozní systémy zajišťují primární obchodní aktivity systémy prodeje, nákupu, řízení skladových zásob, průběžné záznamy obchodních aktivit spolupráce s DBS provozní databáze / transakční systémy / OLTP
zdroje dat systémů BI data z provozních databází načtení, zpracování provozní data nemění!!! POZOR: zpomalují chod provozní db (velká zátěž pro DBMS) údržba systému BI vyžaduje nástroje, které provozní systémy nemají provozní data nejsou vyčištěná data extrahovaná z provozních databází spravují pouze extrahovanou databázi jedná se o výtah z provozních dat data získaná od dodavatelů zakoupení
vykazovací systémy filtrace, třídění, seskupování, jednoduché výpočty SQL + extended SQL souhrny aktuálního stavu porovnání aktuálního stavu s minulým, s prognózou klasifikace entit klíčové sestavy doručení uživatelům včas, vhodný formát (tisk, graf, web, ) dolování dat (data mining) pokročilé matematické a statistické výpočty citlivostní analýza, předpovědi, rozhodování výsledky často součástí jiné sestavy
DWH = Data Warehouse zvláštní typ relační databáze umožňuje řešit úlohy zaměřené převážně na analytické dotazování nad rozsáhlými soubory dat William Inmon: Orientace na subjekt: RDB minimální redundance uložených dat + normalizace (3NF) + vnitřní provázání logických celků relace DWH vnitřní separace jednotlivých funkčních bloků pro zvýšení čitelnosti pro uživatele, vedoucí k vyšším paměťovým nárokům
DWH = data warehouse DWH = DBS + data + programy obsluhy specializující se na BI systémy ETL = Extract, Transform and Load načte data z provozních db do db DWH vyčistí a připraví data pro BI dost složitý proces - nečistá data» pohlaví zákazníka P, věk zákazníka 236, barva črvená,» chybějící hodnoty (null)» nekonzistentní data (změna telefonu zákazníka)» nesprávný formát (datum, čas)» neintegrovaná data (z více zdrojů)» redundantní data (nadbytečné atributy) datová transformace» CR na Česká Republika, CA na Kanada,
databáze DWH data načte systém ETL pomocí DBMS DWH POZOR: nemusí být od stejného dodavatele jako provozní DBMS!!! metadata databáze DWH info o zdroji, formátu, omezeních dat, nástroje BI získávají informace pro různé sestavy a data mining
DWH = data warehouse příjem dat od distributora vyčištění, zpracování, uložení DM = data mart získání dat z DWH pouze pro určitou obchodní aktivitu webové protokoly, skladová historie, maloobchodní prodej, EDW = Enterprise DWH architektura podnikového datového skladu EDW = DWH + DM provoz finančně náročný => mohou si to dovolit jen větší podniky
dimensional database = databáze dimenzí efektivní dotazování a analýza používají se historická data návrh musí podporovat časové změny dat datová dimenze dat a časová dimenze dat
Star schema = hvězdicové schéma tabulky faktů plně normalizované obsahují míry obchodní aktivity (kvantitativní, faktická data) tabulky dimenzí nemusí být normalizované obsahuje hodnoty atributů, které popisují míry faktů tabulka faktů funguje jako spojovací tabulka v relaci M:N
Snowflake schema = schéma sněhové vločky tabulky faktů plně normalizované tabulky dimenzí musí být normalizované do 3NF
OLAP = Online Analytical Processing poskytuje sestavy OLAP výpočet součtů, počtů, průměrů, spoustu dalších jednoduchých matematických výpočtů reprezentace ve 3 osách = zobrazováno jako krychle OLAP obsahuje míry (fakta) a dimenze (atribut, vlastnost míry) viz architektura databáze dimenzí mohou být generovány pomocí jazyka SQL MS SQL Server + MS Excel kontingenční tabulky MySQL + OpenOffice.Calc funkce DataPilot
systémy OLAP jsou odlišné obecné označení = písmena před zkratkou OLAP Příklady: MOLAP nejtypičtější ROLAP nejtypičtější HOLAP HTAP od r.2014 další typy OLAP méně časté / neexistující SOLAP DOLAP WOLAP Mobile OLAP
Relational OLAP jsou založené na schématu hvězdy mají přímý přístup k datům uloženým v relačních DB poskytují vícerozměrný pohled na relační data nevýhoda = zpomalují RDBMS mohou snadno získat transakční data i pro velmi rozsáhlé datové sady i při složitých výpočtech na základě transakčních dat jsou investičně výhodné pro organizace umožňují využít stávající investice do softwaru RDBMS přistupují k DB pomocí jazyka SQL následné zpracování může nastat jak v RDBMS, tak na straně serveru, který přijímá požadavky od klientů (přeloží je do SQL a předá RDBMS)
Relational OLAP poskytují grafické uživatelské rozhraní vytvářejí plány spouštění SQL koncový uživatel nemusí psát SQL dotazy včetně SQL pro vícerozměrnou analýzu Nevýhoda SQL je jazyk relačních databází slovní zásoba SQL je omezená gramatika SQL je málo pružná často nevyhovuje nejdokonalejšímu modelování pro multidimenzionální analýzy
Relational OLAP další nevýhody: strukturování vícerozměrného modelu pouze v relačních tabulkách než koncový uživatel předloží žádost musí být příslušná dimenze dat extrahována a přeformátována do denormalizovaných struktur (schéma hvězda, schéma sněhová vločka) tyto tabulkové struktury jsou nezbytné k zajištění přijatelného analytického výkonu promyšlené aplikace ROLAP vyžadují předběžně sestavené a udržované agregované tabulky eliminuje potřebu zpracování souhrnných dat za běhu
Relational OLAP výhody ROLAP: vůči ostatním analytických nástrojům OLAP je mnohem škálovatelnější při manipulaci s velkým množstvím dat sedí na relačních databázích => umožňuje využití několika funkcí, které relační databáze dokážou
Multidimensional OLAP založený na multidimenzionálních kostkách / krychlích umožňují koncovým uživatelům modelovat data v multidimenzionálním prostředí na rozdíl od ROLAP (vícerozměrný pohled na relační data) kostka / krychle = struktura multidimenzionálního modelu je modelovaná ve vícerozměrné databázi není to série tabulek (jako v relační databázi) buňka v tabulce představuje průnik dvou rozměrů (prodej produktu podle oblasti) rozšiřuje koncept spojený s tabulkami buňka v krychli představuje průnik nekonečného počtu dimenzovaných prvků (produkty, zákazníci, regiony, měsíce, ) hodnotu buňky můžeme vypočítat pomocí vzorce obsahující jiné buňky
Multidimensional OLAP umožňují uživatelům přidávat další dimenze přidávat další tabulky jako v ROLAP NELZE struktura krychle umožňuje velmi rychlé, flexibilní modelování dat a výpočtů lokalizace buněk je značně zjednodušená identifikace umístění buňky podle názvu (průsečík členů dimenze) vyhledávání pomocí indexu nebo celého modelu NELZE (SQL SELECT) pokročilé techniky zpracování pole algoritmy pro správu dat a výpočty tj. mohou velmi efektivně ukládat data a zpracovávat výpočty za zlomek času potřebného pro relační produkty
Multidimensional OLAP nevýhody MOLAP musí být přenášeny z relačních systémů "redundantní" opětovné vytvoření dat v jiné (vícedimenzionální) db u přenesených dat nemusí existovat jednoduchý způsob aktualizace jednotlivé transakce jsou zaznamenány v RDBMS jsou to obvykle proprietární systémy některá oddělení IT mají problém se zavedením nového databázového systému a to i když to znamená výrazně vyšší produktivitu při plánování, pro analýzu a reporting koncovým uživatelům
Hybrid OLAP pokus o sloučení nejlepších vlastností MOLAP a ROLAP architektur do jediné architektury pokouší se překlenout technologickou mezeru obou produktů umožňuje přístup a použití obou - multidimenzionální databáze (MDDB) a relační databáze (RDBMS) princip uchovávají větší množství podrobných dat v relačních tabulkách agregovaná data jsou uložena v předem vypočtených krychlích má schopnost "procházet" z krychle dolů do relačních tabulek pro dané údaje
Hybrid OLAP výhody lepší škálovatelnost rychlé zpracování dat větší flexibilita při přístupu k datovým zdrojům nevýhody jsou to hybridy tj. v nejlepším případě se podílejí na silných stránkách jiných systémů, v nejhorším případě se objevují slabiny každého z nich
Hybrid Transaction / Analytical Processing Hybridní transakčně analytické zpracování pojem vytvořil Gartner na začátku roku 2014 popsal nové datové systémy v paměti, které provádějí zpracování online transakcí (OLTP) a online analytické zpracování (OLAP) opírá se o novější a mnohem výkonnější, často distribuované zpracování někdy se jedná o nové hardwarové zařízení téměř vždy vyžaduje novou softwarovou platformu veškerá technologie je umístěna v relační databázi tj. neexistuje žádná replikace dat, nové transakční informace jsou součástí analytického modelu, a to v co nejkratší době (dle možností technologií)
Hybrid Transaction / Analytical Processing představuje nový způsob, jak svázat data dohromady způsobem, který nebyl do té doby možný skutečné sjednocení relačních dat uložených v tabulkách s datovými modely, které jsou používány pro rozhodování vedoucími firmami příklad: produkt společnosti Olation od společnosti PARIS Tech název Olation = kombinace "OLAP" a relational" technologie
další typy OLAP existují, jsou méně populární nesetkáme se s nimi tak často některé z nich již neexistují (WOLAP) jsou zde uvedeny pro přehlednost vývoje technologií OLAP DOLAP SOLAP WOLAP Mobile OLAP
Desktop OLAP princip uživatel si může stáhnout část modelu OLAP z jiného zdroje a pak s touto částí dat může pracovat lokálně, např. na svém desktopu výhody jednodušší nasazení s potenciálně nižšími náklady nevýhody omezená funkčnost ve srovnání s jinými aplikacemi OLAP
Spatial OLAP prostorová OLAP vznikl v rámci projektu Spatial OLAP integruje schopnosti geografických informačních systémů (GIS) a OLAP do jednotného řešení usnadňuje správu prostorových i neprostorových dat poskytuje rychlý průzkum údajů ukazuje trendy a analýzy v geografickém kontextu např. názvy míst pocházející z GIS, nebo překrytí map ukazující chování zákazníků,
Web OLAP technologie OLAP založená na webovém prohlížeči je založena pouze na webu hlavní cíle dnes bez jakéhokoliv druhu lokální instalace nebo místního klienta pro přístup k datům podstatně nižší investice na straně klienta rozšířená dostupnost pro připojení k datům většina produktů OLAP poskytuje možnost připojení na web navíc umožňují robustnější datové modelování a další funkce, které nemůže webový klient poskytnout
Mobile OLAP pouze funkce OLAP určené pro bezdrátová nebo mobilní zařízení umožňují uživateli přístup a práci s daty i s aplikacemi OLAP vzdáleně důkladně využívají mobilní zařízení
nejnovější sw ve světě OLAP a BI kombinuje v reálném čase výhody relačních tabulek a multidimenzionálního modelování podnikových dat odstraňuje proprietární formát svých předchůdců MOLAP ukládá do zdrojových relačních tabulek (MySQL, SQL Server, ) udržuje konstantní spojení se stávajícími back-end systémy poskytuje okamžitě reagující zprávy a analýzy MS Excel a další front-end nástroje (dashboards, dotazovací nástroje) top business intelligens sw: https://www.softwareadvice.com/bi/
http://olap.com/types-of-olap-systems/ https://mondrian.pentaho.com/documentation/olap.php http://etl-tools.info/en/pentaho-tutorial-l003_cube_designer.htm Super zdroj pro OLAP, DW, DM, KDD a Data Mining https://www.tutorialspoint.com/data_mining/index.htm A vzorová data: https://www.kaggle.com/datasets Jazyk DMQL / GMQL / MSQL http://www.conceptual-modeling.org/products/gmql-dmql http://www.cs.bme.hu/~marti/adatbanya/dmqlsyntax.html https://www.flexmls.com/developers/rets/tutorials/dmql-tutorial/