Agregacija podataka u Data Warehouse sistemima

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Uvod u relacione baze podataka

Podešavanje za eduroam ios

Struktura i organizacija baza podataka

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Osnovni koncepti Data Warehouse sistema

STRUČNA PRAKSA B-PRO TEMA 13

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Port Community System

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Priprema podataka. NIKOLA MILIKIĆ URL:

SAS On Demand. Video: Upute za registraciju:

P6. Prilog Projektovanje i realizacija studije slucaja putem CASE alata u klijent-server okruzenju

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

FAKULTET TEHNIČKIH NAUKA

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

RANI BOOKING TURSKA LJETO 2017

POSLOVNA INTELIGENCIJA

BENCHMARKING HOSTELA

SQL standard podrzava sledece vrste ogranicenja: Ogranicenja domena Ogranicenja tabela i kolona Opsta ogranicenja

Primena OLAP tehnika u analizi otplate duga klijenata Banke Poštanske štedionice a. d.

Fizičko projektovanje baza podataka. Ivana Tanasijevic, Matematički fakultet, Beograd

UNIVERZITET UNION RAČUNARSKI FAKULTET Knez Mih a ilova 6/V I DIPLOMSKI RAD

Bušilice nove generacije. ImpactDrill

CRNA GORA

Nejednakosti s faktorijelima

PROJEKTNI PRORAČUN 1

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

FAKULTET ZA POSLOVNU INFORMATIKU

Mašinsko učenje Uvod. Bojan Furlan УНИВЕРЗИТЕТ У БЕОГРАДУ ЕЛЕКТРОТЕХНИЧКИ ФАКУЛТЕТ

1. Instalacija programske podrške

DEFINISANJE TURISTIČKE TRAŽNJE

PRIMENA OLAP KOCKE ZA ANALIZU PERFORMANSI NEUSAGLAŠENOSTI APPLICATION OF THE OLAP CUBE IN THE ANALYSIS OF THE ANTICOINCIDENCE PERFORMANCE

Ime sekvence mora biti uključeno u CREATE SEQUENCE iskazu, a svi ostali izrazi su opcioni, ali se savetuje da se uključe svi izraz.

Advertising on the Web

Microsoft Courses Schedule February December 2017

Klasterizacija. NIKOLA MILIKIĆ URL:

Ali kako znati koja maksimalna plata pripada kojem sektoru? GROUP BY in SELECT Obično se uključuje GROUP BY kolona u SELECT listi.

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

IDENTIFYING THE FACTORS OF TOURISM COMPETITIVENESS LEVEL IN THE SOUTHEASTERN EUROPEAN COUNTRIES UDC : (4-12)

Bear management in Croatia

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

Projektovanje IS. Fizičko modelovanje Aplikativno modelovanje Softver

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Tehnologije poslovne inteligencije i Cognos alati: modul ljudskih resursa poslovnog informacionog sistema

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

msc Velimir Milanovic Unošenje prvih zapisa Kreiranje elektronskih obrazaca - formi Prva forma - Čitaoci U P I T I

Business Intelligence Development at Winnipeg Transit

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

Upute za korištenje makronaredbi gml2dwg i gml2dgn

Management System for Flight Information

Sadržaj. Baze podataka

KABUPLAST, AGROPLAST, AGROSIL 2500

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

Implementacija sparsnih matrica upotrebom listi u programskom jeziku C

IZRADA TEHNIČKE DOKUMENTACIJE

Automatske Maske za zavarivanje. Stella, black carbon. chain and skull. clown. blue carbon

Uvod u web okruženje SQL

2004 SOUTH DAKOTA MOTEL AND CAMPGROUND OCCUPANCY REPORT and INTERNATIONAL VISITOR SURVEY

PRIMENA OLAP SISTEMA NA PRIMERU JP POŠTA SRBIJE

Programiranje. Nastava: prof.dr.sc. Dražena Gašpar. Datum:

prese presses proizvedene u kija-inoxu made by kija-inox

Modeli podataka. Model podataka - osnovne komponente

ПРЕДМЕТ: Базе података. СТУДИЈСКИ ПРОГРАМ: Информациони системи и технологије. ВРСТА И НИВО СТУДИЈА: Основне академске студије

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

INDUSTRIJSKA EKOLOGIJA

Part 1. Part 2. airports100.csv contains a list of 100 US airports.

Possibility of Increasing Volume, Structure of Production and use of Domestic Wheat Seed in Agriculture of the Republic of Srpska

Programiranje baza podataka

WELLNESS & SPA YOUR SERENITY IS OUR PRIORITY. VAŠ MIR JE NAŠ PRIORITET!

SWEN502 Foundations of Databases Session 2. Victoria University of Wellington, 2017, Term 2 Markus Luczak-Roesch

Testiranje koda - JUnit. Bojan Tomić

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

Specialty Cruises. 100% Tally and Strip Cruises

Shazia Zaman MSDS 63712Section 401 Project 2: Data Reduction Page 1 of 9

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

Programiranje baza podataka Beleške za predavanja

Board Box. February Item # Item Staff Page 1. Key Performance Indicators M. Thompson Financial Report for Dec H.

FINAL EXAM: DATABASES ("DATABASES") 22/06/2010 SCHEMA

Univerzitet u Beogradu Matematički fakultet Internet baze podataka

CILJ UEFA PRO EDUKACIJE

ANALYSIS OF THE CONTRIUBTION OF FLIGHTPLAN ROUTE SELECTION ON ENROUTE DELAYS USING RAMS

THE PERFORMANCE OF THE SERBIAN HOTEL INDUSTRY

PREDMET: Odgovor na upit u postupku jednostavne nabave za predmet nabave Najam multifunkcijskih fotokopirnih uređaja, Evidencijski broj nabave 10/18

Transcription:

Automatizacija procesa poslovanja Agregacija podataka u Data Warehouse sistemima Materijalizovani pogledi i agregacione funkcije BPA Agregacija u DW

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 2 / 57

Šema DW BP i agregirani podaci Agregirani (sumarni) podaci sumarni podaci po zadatim dimenzijama redundantni, ali neophodni za efikasnu podršku različitih upita i analiza čuvaju se u DW bazi podataka generišu se (izračunavaju) u ECTL procesu na osnovu formiranih činjeničnih podataka često uz primenu skupovnih funkcija (SUM, COUNT, MIN, MAX, AVG, STDDEV,...) Nivoi agregacije bilo koja kombinacija dimenzija bilo koji nivo u hijerarhijskoj strukturi dimenzije BPA Agregacija u DW 3 / 57

Šema DW BP i agregirani podaci D1 L3... D1AgrL3Att D1 L2 D4 L1 D3D4 AgrL... D1AgrL2Att... D4AgrL1Att... D3D4AgrLAtt D1 L1 Činjenice D3 L1 D2D3D4 Agr... D1AgrL1Att... D2D3D4AgrL D2 L1 BPA Agregacija u DW 4 / 57

Agr_NastPredmet NasID PK PrdID PK ANPSrednjaOcena ANPPctProlaznost NasID... Predmet PrdID PK PrdNaziv EK1... PrdSrednjaOcena PrdOcenaStdDev PrdPctProlaznost Nastavnik Šema DW BP i agregirani podaci PK Izvršena Obaveza IzvObID TObID PrdID StdID NasID VrSkGod VrSemestar VrPoluSemst VrSedmica IzvObVrednost Vreme VrSkGod VrSemestar VrPoluSemst VrSedmica VrPctPrisutnost PK FK1 FK2 FK3 FK4 FK5 FK5 FK5 FK5 BPA Agregacija u DW 5 / 57 PK PK PK PK TObID... Tip Obaveze Student PK StdID PK... StdUkupECTSb StdSrednjaOcena Agr_StudentŠkGod StdID PK VrSkGod PK ASGGodECTSb ASGGodBrPolIsp Školska Godina VrSkGod... PK

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 6 / 57

Upravljanje agregiranim podacima Summary Management projektovanje DW šeme BP sa agregiranim podacima implementacija agregacije u DW šemi BP i ECTL optimizacija upita sa agregiranim podacima praćenje upotrebe agregiranih podataka BPA Agregacija u DW 7 / 57

Upravljanje agregiranim podacima Summary Management projektovanje DW šeme BP sa agregiranim podacima specifikacija atributa agregiranih podataka specifikacija nivoa agregacije izbor odgovarajućih dimenzija izbor odgovarajućih nivoa hijerarhija dimenzija izbor odgovarajućih kombinacija dimenzija izbor granularnosti s obzirom na vremensku dimenziju» ne mora se zahtevati ista granularnost za sve periode vremena» npr. nivo dana za poslednju godinu, nivo meseca za prethodnu godinu i nivo tromesečja za ranije godine specifikacija algoritama za agregiranje podataka inicijalnog izračunavanja agregiranih vrednosti kasnijih modifikacija (osvežavanja) agregiranih vrednosti BPA Agregacija u DW 8 / 57

Upravljanje agregiranim podacima Summary Management projektovanje DW šeme BP sa agregiranim podacima specifikacija načina izračunavanja i memorisanja agregiranih vrednosti agregirane vrednosti se izračunavanju prilikom inicijalnog punjenja i osvežavanja i memorišu u DW BP ili agregirane vrednosti se izračunavaju na zahtev programa i ne memorišu u DW BP da li izračunavanje može koristiti druge (i koje) agregirane vrednosti iz DW BP izračunavanje može biti sprovedeno na nivou» servera DW BP» aplikativnog programa za upotrebu DW BP BPA Agregacija u DW 9 / 57

Upravljanje agregiranim podacima Summary Management implementacija agregacije u DW šemi BP i ECTL kreiranje materijalizovanih pogleda implementacija postupaka inicijalizacije i osvežavanja agregiranih podataka optimizacija upita sa agregiranim podacima zasnovana na upotrebi materijalizovanih pogleda prestrukturiranju (preuređivanju) SQL SELECT naredbi praćenje upotrebe agregiranih podataka upotreba inteligentnih alata za praćenje upotrebe agregiranih podataka i unapređenja u šemi DW BP summary advisor BPA Agregacija u DW 10 / 57

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 11 / 57

SQL pogled Pogledi u DW sistemima virtuelna tabela, čiji se sadržaj generiše na zahtev upita imenovana SELECT naredba, sačuvana u rečniku podataka SUBP koristi se u upitima, ili za definisanje drugih pogleda eksplicitno definisani pogled - sintaksa CREATE VIEW view_name [(view_attr_list)] AS SELECT implicitno definisani pogled - sintaksa SELECT... FROM (SELECT...) alias,... WHERE... BPA Agregacija u DW 12 / 57

Pogledi u DW sistemima Upotreba pogleda u DSS često potrebna, kako bi se analitičar podataka fokusirao samo na potrebni deo podataka upiti u DSS često zahtevaju agregirane podatke izvedene iz velike količine podataka tabele činjenica Materijalizacija pogleda neophodna da bi se obezbedile dobre performanse takvih upita realno moguća, jer tabele činjenica sadrže relativno nepromenljive podatke u dužem periodu vremena BPA Agregacija u DW 13 / 57

Pogledi u DW sistemima Materijalizovani pogled tabela ili skup tabela sa agregiranim podacima čiji se sadržaj generiše na osnovu sadržaja baznih tabela DW BP DW baza podataka se može, takođe, posmatrati kao jedan materijalizovani pogled nad BP OLTP sistema i nad spoljnim izvorima podataka koristi se za efikasnu realizaciju upita u DSS BPA Agregacija u DW 14 / 57

Pogledi u DW sistemima Materijalizovani pogled mogući kriterijumi kada materijalizovati pogled zasnivaju se na proceni parametara koliko vrsta upita može biti pokriveno materijalizovanim pogledom kakva je frekvencija pokretanja upita koji mogu biti pokriveni materijalizovanim pogledom kakvo je očekivano poboljšanje performansi upita koji mogu biti pokriveni materijalizovanim pogledom koliko materijalizovani pogled zahteva prostora u BP u kolikoj meri materijalizovani pogled usložnjava osvežavanje DW BP BPA Agregacija u DW 15 / 57

Primer Pogledi u DW sistemima data zvezdasta šema Product({ProdId, ProdName, Category, Price}, {ProdId}) Location({ShopId, ShopName, City, District}, {ShopId}) Time({TimeId, Date, Week, Month, Quarter, Year}, {TimeId}) Sales({ProdId, TimeId, ShopId, SalesData}, {ProdId+TimeId+ShopId}) dat virtuelni pogled CREATE VIEW Prod_Shop_Sales (ProdId, Category, ShopId, City, TimeId, SalesData) AS SELECT p.prodid, p.category, l.shopid, l.city, s.timeid, s.salesdata FROM Product p, Location l, Sales s WHERE p.prodid = s.prodid AND l.shopid = s.shopid BPA Agregacija u DW 16 / 57

Primer Pogledi u DW sistemima posmatra se upit nad nematerijalizovanim pogledom SELECT Category, City, SUM(SalesData) FROM Prod_Shop_Sales GROUP BY Category, City očekivano je da se upit realizuje tako što se naziv Prod_Shop_Sales zamenjuje definicijom pogleda BPA Agregacija u DW 17 / 57

Primer Pogledi u DW sistemima upit u "razvijenoj" formi SELECT v.category, v.city, SUM(v.SalesData) FROM ( SELECT p.prodid, p.category, l.shopid, l.city, s.timeid, s.salesdata FROM Product p, Location l, Sales s WHERE p.prodid = s.prodid AND l.shopid = s.shopid) v GROUP BY v.category, v.city BPA Agregacija u DW 18 / 57

Primer Pogledi u DW sistemima materijalizacija pogleda Prod_Shop_Sales sa ciljem unapređenja performansi upita SELECT Category, City, SUM(SalesData) FROM Prod_Shop_Sales GROUP BY Category, City tako što se eliminiše vreme potrebno za spajanja tabela» Sales, Product i Location koje se projektuju na skup kolona» {ProdId, Category, ShopId, City, TimeId, SalesData} ili na bilo koji podskup ovog skupa kolona formiranjem posebne, bazne tabele koja će sadržati podatke iz Prod_Shop_Sales BPA Agregacija u DW 19 / 57

Primer Pogledi u DW sistemima materijalizacija pogleda Prod_Shop_Sales zahtev prema optimizatoru upita da je u stanju da izvrši inteligentnu reorganizaciju upita (query rewriting) SELECT Category, City, SUM(SalesData) FROM Product NATURAL JOIN Location NATURAL JOIN Sales GROUP BY Category, City u oblik koji obezbeđuje optimizovano izvršavanje SELECT Category, City, SUM(SalesData) FROM Prod_Shop_Sales GROUP BY Category, City BPA Agregacija u DW 20 / 57

Primer Pogledi u DW sistemima posmatra se upit SELECT p.category, l.city, SUM(s.SalesData) FROM Product p, Location l, Sales s, Time t WHERE p.prodid = s.prodid AND l.shopid = s.shopid AND t.timeid = s.timeid AND t.year = 2000 GROUP BY p.category, l.city upit ne može biti realizovan samo uz pomoć materijalizovanog pogleda Prod_Shop_Sales nedostaju podaci o godini (Year), u dimenziji Time BPA Agregacija u DW 21 / 57

Primer Pogledi u DW sistemima zahtev prema optimizatoru upita da je u stanju da izvrši inteligentnu reorganizaciju upita tako da koristi materijalizovani pogled Prod_Shop_Sales i spajanje s tabelom Time SELECT v.category, v.city, SUM(v.SalesData) FROM Prod_Shop_Sales v JOIN Time t ON (v.timeid = t.timeid) WHERE t.year = 2000 GROUP BY Category, City BPA Agregacija u DW 22 / 57

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 23 / 57

Materijalizacija pogleda Klasični relacioni SUBP kreiranje i odloženo inicijalno punjenje tabele CREATE TABLE mat_view_name INSERT INTO mat_view_name AS SELECT... kreiranje i istovremeno inicijalno punjenje tabele CREATE TABLE mat_view_name AS SELECT Relacioni SUBP sa OLAP mogućnostima (ROLAP Engine) upotreba specijalizovanog koncepta CREATE MATERIALIZED VIEW mat_view_name... AS SELECT BPA Agregacija u DW 24 / 57

Materijalizacija pogleda SQL materijalizovani pogled posebna vrsta bazne tabele formira se i ažurira preuzimanjem (agregiranjem) podataka iz jedne ili više drugih tabela koje se mogu ali ne moraju nalaziti na istom serveru BP ažurira se, u principu, posredno - osvežavanje propagacijom operacija ažuriranja nad osnovnim tabelama, od kojih je nastala, ili ponovnom inicijalizacijom sadržaja u zadatim vremenskim intervalima ili na zahtev može biti indeksiran i particioniran optimizator upita je u stanju da izvrši reogranizaciju upita nad baznim tabelama (query rewriting) tako da se upotrebe odgovarajući materijalizovani pogledi BPA Agregacija u DW 25 / 57

Materijalizacija pogleda SQL materijalizovani pogled politika održavanja sadržaja definiše kada i kako osvežavati materijalizovani pogled definiše se u postupku projektovanja DW sistema vreme osvežavanja sadržaja trenutno u momentu izvođenja transakcije nad originalnim podacima odloženo u zadatom trenutku vremena u regularnim vremenskim intervalima na zahtev, prilikom izvođenja upita nad materijalizovanim pogledom na eksplicitni zahtev administratora BPA Agregacija u DW 26 / 57

Materijalizacija pogleda SQL materijalizovani pogled način osvežavanja sadržaja inkrementalno ("brzo") osvežavanje sprovode se samo izmene sadržaja, saglasno sprovedenim operacijama nad tabelama sa originalnim podacima zahteva kreiranje dnevnika materijalizovanog pogleda» CREATE MATERIALIZED VIEW LOG... pogodnije sa stanovišta performansi, kada je logički moguće kompletno osvežavanje reinicijalizuje se kompletan sadržaj materijalizovanog pogleda» ponovnim izvršavanjem SELECT naredbe sprovodi se samo kada inkrementalno osvežavanje nije logički moguće» u situacijama kada se agregirane vrednosti izračunavaju primenom tzv. holističkih (kompletno neaditivnih) funkcija (posebna tema) BPA Agregacija u DW 27 / 57

Materijalizacija pogleda SQL materijalizovani pogled sintaksa za kreiranje CREATE MATERIALIZED VIEW mvw_name [TABLESPACE tbs_name PCTFREE nn] [STORAGE (INITIAL n[m K] NEXT n[m K] PCTINCREASE n)] [NOLOGGING] [PARALLEL (DEGREE [DEFAULT value])] BUILD [DEFERRED IMMEDIATE] [USING [NO] INDEX [TABLESPACE tbs_name]] REFRESH [FORCE FAST COMPLETE] [ON DEMAND ON COMMIT START WITH date NEXT date] [ENABLE QUERY REWRITE] AS SELECT... BPA Agregacija u DW 28 / 57

Materijalizacija pogleda SUBP Oracle: tehničke mogućnosti generisanje statističkih podataka o materijalizovanom pogledu ili tabeli SQL ANALYZE TABLE table [COMPUTE STATISTICS ESTIMATE STATISTICS SAMPLE nn PERCENTS] PL/SQL BEGIN DBMS_STATS.GATHER_TABLE_STATS (ownname =>'schema', tabname => 'table'); END; BPA Agregacija u DW 29 / 57

Materijalizacija pogleda SUBP Oracle: tehničke mogućnosti inicijalizacija / osvežavanje sadržaja materijalizovanog pogleda PL/SQL paket DBMS_MVIEW sa servisima DBMS_MVIEW.REFRESH DBMS_MVIEW.REFRESH_ALL_MVIEWS DBMS_MVIEW.REFRESH_DEPENDENT primer DBMS_MVIEW.REFRESH('<list_of_mvs>', 'methods') DBMS_MVIEW.REFRESH('sch1.mv1,sch2.mv2', 'fc')» osvežavanje svih pogleda, nabrojanih u okviru prvog argumenta» f FAST način osvežavanja, ako je moguć» c COMPLETE način osvežavanja, alternativno BPA Agregacija u DW 30 / 57

Materijalizacija pogleda SUBP Oracle: tehničke mogućnosti Summary Advisor PL/SQL paket DBMS_MVIEW sa servisima pribavljanje podataka o kreiranim i potencijalnim materijalizovanim pogledima i mogućnostima za njihovu upotrebu DBMS_MVIEW.ESTIMATE_MVIEW_SIZE DBMS_MVIEW.EXPLAIN_MVIEW DBMS_MVIEW.EXPLAIN_REWRITE BPA Agregacija u DW 31 / 57

Materijalizacija pogleda SUBP Oracle: tehničke mogućnosti Summary Advisor PL/SQL paket DBMS_ADVISOR praćenje "workload" statističkih podataka (uz pomoć utility programa Oracle Trace) o agregiranim podacima za materijalizovane poglede» koliko puta je pogled upotrebljavan u optimizaciji upita» "cost/benefit" podaci procena isplativosti kreiranja materijalizovanog pogleda generisanje preporuka u vezi kreiranja, spajanja, podele ili ukidanja materijalizovanih pogleda DBMS_ADVISOR.TUNE_MVIEW BPA Agregacija u DW 32 / 57

Materijalizacija pogleda SUBP Oracle: tehničke mogućnosti Summary Advisor PL/SQL paket DBMS_DIMENSION pribavljanje podataka o OLAP dimenzionim strukturama validacija OLAP dimenzionih struktura PL/SQL paket DBMS_ADVANCED_REWRITE zadavanje semantički ekvivalentnih alternativa u formiranju naredbi upita za potrebe optimizacije upita, zasnovane na prestrukturiranju naredbe upita BPA Agregacija u DW 33 / 57

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 34 / 57

Vrste materijalizacije pogleda Moguće vrste (oblici) materijalizacije pogleda kroz program (pure program) izvedeni pogled (derived data view) kroz podatke (pure data view) kroz indeks (pure index) kombinacija podaci i indeks (hybrid data and index) agregirani pogled (aggregate view) agregirani pogled sa spojem (join aggregate view) pogled nad jednom tabelom (single table aggregate view) pogled samo sa spojem (join only aggregate view) BPA Agregacija u DW 35 / 57

Vrste materijalizacije pogleda Kroz program (Pure Program) SQL definicija virtuelnog pogleda u samom programu upit se izvršava svaki put, na zahtev korisnika Data request Program execution Query View Definition Data delivery View data return Database BPA Agregacija u DW 36 / 57

Vrste materijalizacije pogleda Izvedeni pogled (Derived Data View) izvedeni podaci se generišu izvršavanjem upita i kreiranjem materijalizovanog pogleda materijalizovani pogled se dalje koristi u upitima materijalizovani pogled se (trenutno) osvežava kao posledica ažuriranja baznih tabela, na kojima je zasnovan omogućena je optimizacija upita, zasnovana na upotrebi materijalizovanog pogleda očuvanje konzistencije podataka materijalizovanog pogleda zahteva posebno procesorsko vreme BPA Agregacija u DW 37 / 57

Vrste materijalizacije pogleda Izvedeni pogled (Derived Data View) Data request View Definition View derivation Query Data delivery Materialized View Refreshing programs Database BPA Agregacija u DW 38 / 57

Vrste materijalizacije pogleda Kroz podatke (Pure Data View) putem materijalizovanog pogleda, bez uključene procedure osvežavanja naziva se i presek (slika stanja) - snapshot sadržaj materijalizovanog pogleda se periodično obnavlja kompletnim izvršavanjem SELECT naredbe, ugrađene u definiciju pogleda očuvanje konzistencije podataka materijalizovanog pogleda zahteva posebno procesorsko vreme BPA Agregacija u DW 39 / 57

Vrste materijalizacije pogleda Kroz podatke (Pure Data View) Data request View Definition View derivation Query Data delivery Snapshot Database BPA Agregacija u DW 40 / 57

Vrste materijalizacije pogleda Kroz indeks (Pure Index) indeks - jedna vrsta materijalizovanog pogleda sadrži replicirane vrednosti atributa sa adresama odgovarajućih torki u baznoj tabeli osvežava se trenutno u sklopu DML operacija ažuriranja moguće namene indeksa poboljšanje performansi upita sa uslovom selekcije koji obuhvata indeksirane atribute selekcija samo neophodnih torki iz indeksirane tabele poboljšanje performansi upita sa operacijom spajanja selekcija samo neophodnih torki iz indeksiranih tabela posebno, ako su torke sa istim indeksiranim vrednostima grupisane u isti ili susedne blokove kompletna realizacija određenih vrsta upita nad indeksom karakteristično za DW sisteme BPA Agregacija u DW 41 / 57

Vrste materijalizacije pogleda Kroz indeks (Pure Index) Index on R.A Updates Table R A = a a Column A (R) Pointers to tuples R.A = a Column R.A BPA Agregacija u DW 42 / 57

Vrste materijalizacije pogleda Kombinacija podaci i indeks (Hybrid Data and Index) kombinacija tehnika materijalizacije "izvedeni pogled" i "kroz indeks" često zahtevane vrednosti atributa se materijalizuju vrši se projekcija sadržaja tabele po izabranim atributima od formirane projekcije pravi se materijalizovani pogled torke u materijalizovanom pogledu povezuju se s originalnim torkama putem pokazivača očekuje se postizanje boljih performansi upita nad materijalizovanim atributima pošto projektovani sadržaj tabele zauzima manje prostora torke u materijalizovanom pogledu su manjeg kapaciteta broj torki u materijalizovanom pogledu može biti manji BPA Agregacija u DW 43 / 57

Vrste materijalizacije pogleda Kombinacija podaci i indeks (Hybrid Data and Index) Student Index StudId S_Name Pointer Student Table StudId S_Name Address Email Phone Course Table CourId C_Name NoOfPts Outline Lecturer Course Index CourId C_Name Pointer BPA Agregacija u DW 44 / 57

Vrste materijalizacije pogleda Poređenje materijalizovani pogled / indeks sličnosti zauzimaju poseban prostor moraju biti osvežavani obezbeđuju bolje performanse upita koji ih upotrebljavaju upiti su nezavisni od njihove egzistencije razlike ne referenciraju se eksplicitno u tekstu upita ako ih ima, optimizator upita može da ih iskoristi u protivnom, upit će takođe biti korektno realizovan materijalizovani pogled može biti eksplicitno referenciran u tekstu upita, a indeks ne materijalizovani pogled može biti dodatno indeksiran, a indeks ne BPA Agregacija u DW 45 / 57

Vrste materijalizacije pogleda Agregirani pogled (Aggregate View) najšire shvatanje agregacije podataka obuhvata sledeće slučajeve celu DW BP nad zvezdastom šemom (ili nekim drugim oblikom šeme DW BP) i tabele dimenzija i tabele činjenica predstavljaju poglede nad nekim operativnim podacima (iz OLTP BP) mere činjenica predstavljaju agregirane vrednosti operativnih podataka oblik materijalizacije tipa "izvedeni pogled" oblik materijalizacije tipa "kroz podatke" klasifikacija agregirani pogled sa spojem (join aggregate view) pogled nad jednom tabelom (single table aggregate view) pogled samo sa spojem (join only aggregate view) BPA Agregacija u DW 46 / 57

Vrste materijalizacije pogleda Agregirani pogled sa spojem (Join Aggregate View) CREATE MATERIALIZED VIEW shop_sales_mv AS SELECT ShopName, SUM(SalesData) AS SumSales FROM Location s, Fact f WHERE s.shopid = f.shopid GROUP BY ShopName BPA Agregacija u DW 47 / 57

Vrste materijalizacije pogleda Agregirani pogled nad jednom tabelom (Single Table Aggregate View) roll-up nad tabelom činjenica CREATE MATERIALIZED VIEW shop_avg_mv AS SELECT ShopId, AVG (SalesData) AS AvgSales, SUM(SalesData) AS SumSales, COUNT(*) AS CountSales FROM Fact GROUP BY ShopId Napomena funkcije COUNT i SUM su uključene da bi bilo omogućeno inkrementalno osvežavanje BPA Agregacija u DW 48 / 57

Vrste materijalizacije pogleda Agregirani pogled samo sa spojem (Join Only Aggregate View) CREATE MATERIALIZED VIEW shop_sales_mv AS SELECT s.shopid, ShopName, t.timeid, Month, Sales FROM Location s NATURAL RIGHT JOIN Fact f NATURAL LEFT JOIN Time t spoljnja spajanja sprečavaju gubljenje torki činjenica u situaciji narušavanja ograničenja referencijalnih integriteta kada torka činjenice nije spojiva ni sa jednom torkom dimenzije BPA Agregacija u DW 49 / 57

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 50 / 57

Završne napomene Ugrađeni materijalizovani pogled materijalizovani pogled koji je ugrađen u definiciju drugog materijalizovanog pogleda materijalizovani pogled može referencirati druge materijalizovane poglede, kao i bazne tabele, u isto vreme BPA Agregacija u DW 51 / 57

Završne napomene Izbor pogleda za materijalizaciju često kompleksan problem cilj postoji širok spektar upita i pogleda koji bi se mogli upotrebaljavati u tim upitma s druge strane, uvođenje materijalizovanih pogleda ima znatan uticaj na povećanje potrebnog memorijskog prostora produženje vremena potrebnog za održavanje (osvežavanje) podataka u DW BP izabrati mali, ali pogodan skup pogleda za materijalizaciju koji može podržati najveći broj upita, označenih kao najznačajniji BPA Agregacija u DW 52 / 57

Primer Završne napomene dva međusobno "simetrična" upita SELECT Category, SUM(SalesData) FROM Product p, Sales s WHERE p.prodid = s.prodid GROUP BY Category SELECT City, SUM(SalesData) FROM Location l, Sales s WHERE l.shopid = s.shopid GROUP BY City BPA Agregacija u DW 53 / 57

Primer Završne napomene postoji više mogućih načina za ubrzavanje navedenih upita, kao na primer formirati dva materijalizovana pogleda samo da pokriju spojeve za: (Sales JOIN Product) i (Sales JOIN Location) formirati dva materijalizovana pogleda, svaki da kompletno pokrije po jedan upit formirati sledeći materijalizovani pogled CREATE MATERIALIZED VIEW ProdLocSales (Category, City, Total) AS SELECT Category, City, SUM(SalesData) FROM Sales s, Product p, Location l WHERE s.prodid = p.prodid AND s.shopid = l.shopid GROUP BY Category, City BPA Agregacija u DW 54 / 57

Primer Završne napomene inteligentni optimizator upita favorizuje jedan od dva moguća upita nad materijalizovanim pogledom dobijena prestrukturiranjem polaznih SELECT naredbi SELECT Category, SUM(Total) FROM ProdLocSales GROUP BY Category SELECT City, SUM(Total) FROM ProdLocSales GROUP BY City Pitanje: koji od ova dva i zašto? Savet:pogledati GROUP BY klauzulu u ProdLocSales BPA Agregacija u DW 55 / 57

Sadržaj Šema DW BP i agregirani podaci Upravljanje agregiranim podacima Pogledi u DW sistemima Materijalizacija pogleda Vrste materijalizacije pogleda Završne napomene BPA Agregacija u DW 56 / 57

Pitanja i komentari? BPA Agregacija u DW 57 / 57

Automatizacija procesa poslovanja Agregacija podataka u Data Warehouse sistemima Materijalizovani pogledi i agregacione funkcije BPA Agregacija u DW