! è l'insieme A degli attributi di ! $ B IL PROBLEMA DELLE VISTE MATERIALIZZATE: PROBLEMI IL PROBLEMA DELLE VISTE MATERIALIZZATE



Documenti analoghi
ESERCIZI IN PIÙ ESERCIZI DI FINE CAPITOLO

La rappresentazione per elencazione consiste nell elencare tutte le coppie ordinate che verificano la relazione

A.A.2009/10 Fisica 1 1

Numeri razionali COGNOME... NOME... Classe... Data...

F (r(t)), d dt r(t) dt

Sondaggio piace l eolico?

! Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.

Il modello relazionale. Il Modello Relazionale. Il modello relazionale. Relazione. Dominio. Esempio

Il modello relazionale. Il Modello Relazionale. Il modello relazionale. Relazione. Dominio. Esempio

Definizione. Si chiama similitudine una corrispondenza biunivoca dal piano in sé tale che,

Macchine non completamente specificate. Sintesi Sequenziale Sincrona Sintesi Comportamentale di Reti Sequenziali Sincrone

Componenti per l elaborazione binaria dell informazione. Sommario. Sommario. Approfondimento del corso di reti logiche. M. Favalli.

Algebra Relazionale. Operazioni nel Modello Relazionale

Circuiti Sequenziali Macchine Non Completamente Specificate

Il problema da un milione di dollari

La parabola. Fuoco. Direttrice y

Analisi Matematica I per Ingegneria Gestionale, a.a Primo compitino, 18 novembre 2017 Testi 1

Esercitazione n. 2. Gian Carlo Bondi VERO/FALSO

Esercizi per il corso di Calcolatori Elettronici. svolti da Mauro IACOVIELLO & Fabio LAUDANI

Equazioni di secondo grado Capitolo

Analisi Matematica I per Ingegneria Gestionale, a.a Scritto del quinto appello, 3 luglio 2017 Testi 1

Esercizi per il corso di Calcolatori Elettronici

COMBINAZIONI DI CARICO SOLAI

VALUTAZIONE DELLE CONOSCENZE E DELLE ABILITÀ DI BASE PROVA DI MATEMATICA. Scuola Secondaria Superiore Classe terza. Scuola... Classe... Alunno...

Monomi e polinomi. Verifica per la classe prima COGNOME... NOME... Classe... Data...

Politecnico di Milano Facoltà di Ingegneria dell Automazione INFORMATICA INDUSTRIALE Appello COGNOME E NOME. 11 febbraio 2008 RIGA COLONNA MATRICOLA

ALGORITMI E COMPLESSITÀ CORSO DI LAUREA MAGISTRALE IN INFORMATICA UNIVERSITÀ DEGLI STUDI DI CATANIA ANNO ACCADEMICO 2014/15

3. Funzioni iniettive, suriettive e biiettive (Ref p.14)

VALUTAZIONE DELLE CONOSCENZE E DELLE ABILITÀ DI BASE PROVA DI MATEMATICA. Scuola Secondaria di Primo Grado Classe Prima. Scuola... Classe... Alunno...

Barriere all entrata e modello del Prezzo Limite Economia industriale Università Bicocca

Unità D1.2 Selezione e proiezione

Il piano cartesiano e la retta

KIT ESTIVO MATEMATICA A.S. 2015/16 CLASSI SECONDE IeFP OPERATORE GRAFICO

L insieme Q+ Le frazioni Operazioni con le frazioni Problemi con le frazioni

4 - TRASFORMAZIONI DI VARIABILI CASUALI

Esercizio Planning. Dati:

Definizione opposto: Somma. Definizione vettore 0:

Test diagnostici. Un po di definizioni: test: (a+c)) / n. a+c. Malattia NO. a+b TEST. c+d. n= a+b+c+d. b+d POS NEG TOT TOT

Allegato 3 Elenco BAT ed esempio interventi efficientamento

ESERCIZI SVOLTI DEL CORSO DI TRASMISSIONE NUMERICA

13. EQUAZIONI ALGEBRICHE

a a = 1, a a = 0; a a = 1, a a = 0; e quindi, = (a a ) (a a ) = (a a) a = 0 a = a

Disequazioni di primo grado

Equazioni di primo grado

GESTIONE della BASE di DATI

Algoritmi e Complessità

Elettronica dei Sistemi Digitali Disegno del layout di porte logiche combinatorie CMOS

QUESITI DI PSICOLOGIA

ANALISI 1 ANALISI A Prima Prova Intermedia 11 novembre 2017

Disequazioni di secondo grado

Acidi Deboli. Si definisce acido debole un acido con K a < 1 che risulta perciò solo parzialmente dissociato in soluzione. Esempi di acidi deboli:

PARAMETRI DI VALUTAZIONE PER AUTOBUS INTERURBANI E CRITERI PER L'ASSEGNAZIONE DEI PUNTEGGI ALLEGATO 6/lotto 1

VALUTAZIONE DELLE CONOSCENZE E DELLE ABILITÀ DI BASE PROVA DI MATEMATICA. Scuola Secondaria di Primo Grado Classe Prima. Scuola... Classe... Alunno...

Calcolo del costo unitario FASE 1

EQUAZIONI ESPONENZIALI -- LOGARITMI

CBM a.s. 2012/2013 PROBLEMA DELLE SCORTE

UNIVERSITÁ DEGLISTUDIDISALERNO C.d.L. in INGEGNERIA GESTIONALE Ricerca Operativa 12 Gennaio 2009 Prof. Saverio Salerno. Compito A

d coulomb d volt b trasformatore d alternatore b amperometro d reostato

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così:

Integrali de niti. Il problema del calcolo di aree ci porterà alla de nizione di integrale de nito.

VERIFICA DI UN CIRCUITO RESISTIVO CONTENENTE PIÙ GENERATORI CON UN TERMINALE COMUNE E SENZA TERMINALE COMUNE.

Teorema di Sostituzione

CONCETTO DI ANNIDAMENTO

FUNZIONI MATEMATICHE. Una funzione lineare è del tipo:

Icone, finestre e strutture dati

Corso di ELETTRONICA INDUSTRIALE

2. Simulazione discreta: approcci alla simulazione

Ricerca Operativa M. Simulazione d'esame

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

Lezione 5. Argomenti. Premessa Vincolo di bilancio La scelta ottima del consumatore

] + [ ] [ ] def. ] e [ ], si ha subito:

Tecniche di Progettazione Digitale Progettazione e layout di porte logiche combinatorie CMOS p. 2

Architettura del calcolatore Esempi dettagliati di funzionamento interno di memoria e processore

VERSO L ESAME DI STATO LA DERIVATA DI UNA FUNZIONE

B8. Equazioni di secondo grado

Relazioni e funzioni. Relazioni

Codici di Huffman. Codici prefissi. Sia dato un file di 120 caratteri con frequenze:

Capitolo 3. Modelli. Macchine combinatorie Macchine sequenziali asincrone sincrone

SOLUZIONE PROBLEMI Insegnamento di Fisica dell Atmosfera Seconda prova in itinere

Millenium 3 Interfaccia di comunicazione M3MOD Guida all'uso della Directory operativa 04/2006

8 Equazioni parametriche di II grado

Es1 Es2 Es3 Es4 Es5 tot

Unità Didattica N 08 I sistemi di primo grado a due incognite U.D. N 08 I sistemi di primo grado a due incognite

a è detta PARTE LETTERALE

INTEGRALI IMPROPRI. f(x) dx. e la funzione f(x) si dice integrabile in senso improprio su (a, b]. Se tale limite esiste ma

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Lezione 7: Rette e piani nello spazio

FISICA DELLA MATERIA CONDENSATA. Proff. P. Calvani e M. Capizzi. II prova di esonero - 24 gennaio 2012

Metodologie informatiche per la chimica

Ellisse ed iperbole. Osservazione. Considereremo sempre ellissi della forma + = 1 le quali hanno tutte centro nell origine degli

Misure (parte II) Gerarchie Incomplete

Il lemma di ricoprimento di Vitali

Sistemi di comando per la sicurezza delle macchine Norma EN ISO

ANALISI REALE E COMPLESSA a.a

= det b, a, b, c R 3. In quest ottica, il determinante del terzo ordine e caratterizzato dalle seguenti proprieta : a a. c c

VERSO L ESAME DI STATO SCUOLA SECONDARIA DI PRIMO GRADO PROVA DI MATEMATICA

4.5 Il Parco dello Sport del Lambro e il PLIS della Media Valle del Lambro

Macchine non completamente specificate. Sintesi Sequenziale Sincrona Sintesi Comportamentale di Reti Sequenziali Sincrone

Siano α(x), β(x) due funzioni continue in un intervallo [a, b] IR tali che. α(x) β(x).

Minimizzazione degli Stati in una Rete Sequenziale Sincrona

Transcript:

IL PROBLEMA DELLE VISTE MATERIALIZZATE IL PROBLEMA DELLE VISTE MATERIALIZZATE: PROBLEMI Le viste nei DBMS relzionli Utilità elle viste mterilizzte per l'eseuzione i interrogzioni Venite(ProutI, NegozioI, DtI, Q) to un rio i lvoro Q, quli viste mterilizzre SELECT FROM GROUP BY NegozioI, ProutI, SUM(Q) AS TQ Venite NegozioI, ProutI; Si mterilizz :V ome ggiornre le viste quno si moifino i ti (non si onsier) t un'interrogzione, ome risriverl per usre un vist mterilizzt SELECT FROM GROUP BY NegozioI, SUM(Q) AS TQ Venite NegozioI; SELECT FROM GROUP BY Si risrive NegozioI, SUM(TQ) AS TQ V NegozioI; 1 2 APPROCCIO NOZIONE DI PATTERN DI AGGREGAZIONE Le interrogzioni el rio i lvoro sono nell form: q = A! SUM(m) AS m (per revità q = A!) oppure q = A! $ B on A e B insiemi isgiunti i ttriuti e restrizioni AND i preiti (Att = ). Interrogzioni Q Il pttern (i ggregzione) P(v) i un vist v = A! è l'insieme A egli ttriuti i rggruppmento. Viste nite Il pttern P(q) i un'interrogzione q = A! $ B è l'insieme A " B Vinoli e oiettivi Algortimo i selezione Moello ei osti Diremo he q è lolile ll vist v (q << v) se il risultto i q può essere Viste mterilizzte selezionte trovto usno v. Se P(q) = A " B e P(v) = C, q << v sse A " B # C Dte ue viste v1 e v2 e un'interrogzione q, se v1 < v2 e q << v1, llor q << v2 3 4 IPOTESI SEMPLIFICATIVE I ti sono sttii on on n imensioni, prive i ttriuti, e un misur m Le viste nite sono i possiili uoii el uo esteso (retiolo ei uoii = retiolo elle possiili viste), iversi ll rie F, efiniti on espressioni tipo: A! SUM(m) AS m (F). Gli ttriuti i rggruppmento el uoie v si enotno on g(v) Il rio i lvoro sono le interrogzioni qi he efinisono i uoii iversi ll rie F. Diremo he q è lolile ll vist v (q << v) se il risultto i q può essere trovto usno v. IL RETICOLO DEL DW A B M 0 1 50 1 1 100 2 3 60 4 5 70 6 5 90 A B C M 0 1 1 50 1 1 1 100 2 3 1 60 4 5 1 70 6 5 2 90 A C M 0 1 50 1 1 100 2 1 60 4 1 70 6 2 90 B C M 1 1 150 3 1 60 5 1 70 5 2 90 SELECT B, C SUM(M) AS M FROM R GROUP BY B, C; Dte ue viste v1 e v2 e un'interrogzione q, se v1 < v2 e q << v1, llor q << v2 Il osto i eseuzione i q usno l vist v è v, il numero i reor i v. 5 A M 0 50 1 100 2 60 4 70 6 90 B M M 1 150 3 60 5 160 370 C M SELECT C SUM(M) AS M FROM R 1 180 GROUP BY C; 2 90 SELECT SUM(M) AS M FROM R; 6 le interrogzioni el rio i lvoro sono nell form: q = A! oppure q = A! $ B on A e B insiemi isgiunti i ttriuti e restrizioni AND i preiti (Att = ).

DAL RETICOLO DEI CUBOIDI AL RETICOLO DELLE VISTE STIMA DIMENSIONE DI UNA VISTA (ProottoI, DtI, NegozioI) DtI) (ProottoI, NegozioI) (DtI, (ProottoI, NegozioI) (ProottoI) (DtI) (NegozioI) ( ) pn 6M p 0.8M pn 6M n 6M p 0.2M 0.1M n 0.01M none 1 vist v = A! F (R) Stim i v on l formul i Crens (uniforme istriuzione ei ti): v = n n(1 1/n) r ove n è il numero i possiili vlori i A e r = R. Esempio. Si R(B,C,D), on Nre(R), Nkey(B) e Nkey(C). L stim i un vist v rggruppno R su (B, C) si ottiene poneno Come stimre l imensione i un vist? n = Nkey(B) * Nkey(C) r = Nre(R) 7 8 PERCHE' MATERIALIZZARE LE VISTE PERCHE' NON MATERIALIZZARE TUTTE LE VISTE? pn 6M pn 6M p 0.8M pn 6M n 6M p 0.8M pn 6M n 6M p 0.2M 0.1M n 0.01M p 0.2M 0.1M n 0.01M none 1 none 1 Query: totle elle venite rggruppte per ProottoI Cso 1: ti (pn) = 6M Cso 2: vist mterilizzt (p) = 0.8M Cso 3: vist mterilizzt (p) = 0.2M Complet mterilizzzione: ~19M reor Meglio przile: - inluere: pm, il DW - esluere: pn, n totle: ~ 7M, pri prestzioni 9 10 SCELTA DELLE VISTE DA MATERIALIZZARE BENEFICIO DI UNA VISTA pn 1000 Si C(qi, M) il osto i eseuzione ell'interrogzione qi usno le viste mterilizzte M. L'oiettivo è i selezionre il sottoinsieme M elle viste nite V he minimizzi il osto omplessivo i eseuzione elle interrogzioni Q: %(V, M) = & i = 1.. Q C(qi, M) rispettno un vinolo he verrà speifito più vnti. Il prolem i ottimizzzione è NP-ompleto. Pertnto si er un soluzione pprossimt on un lgoritmo i tipo greey he proee selezionno un opo l'ltr l vist he proue il mssimo enefiio, finhé le viste selezionte non superno un vinolo prefissto. Informlmente, il enefiio i un vist è l riuzione el osto i eseuzione el rio i lvoro he proue. 1. Per ogni vist w isenente i v (w ' v): ) Si u l vist i osto minimo in M tle he w ' u ) Se C(v) < C(u), llor B w = C(u) C(v), ltrimenti B w = 0. 2. Si pone B(v, M) = & w ' v B w pn 1000 p 500 p 0 n 100 150 Dto un insieme M i viste mterilizzte, per ogni vist v el retiolo, il enefiio B(v, M) i v rispetto M è efinito : n 700 11 12

ALGORITMO BASE ESEMPIO pn 1000 Vinolo: numero k i viste mterilizzre fr le V nite pn 1000 p 500 n 700 Algoritmo HRU(k) 1. M = {Top}; 2. A = V M; 3. for i = 1 to k o 3.1. v = l vist in A, tle he B(v, M) è mssimo 3.2. M = M " {v}; 3.3. A = A {v}; 4. return M; p 0 n 100 150 pn p n p n ( ) Prim selt 0 500! 4 = 00 300! 4 = 10 800! 2 = 1600 900! 2 = 1800 850! 2 = 1700 999 Soluzione M = {pn, p, n, } Seon selt 0 300! 2 = 600 300! 2 = 600 900 + 400 = 1300 350! 2 = 700 499 Terz selt 0 300 300 350 99 13 14 1. Per ogni vist w isenente i v (w ' v): ) Si u l vist i osto minimo in M tle he w ' u ) Se C(v) < C(u), llor B w = C(u) C(v), ltrimenti B w = 0. 2. Si pone B(v, M) = & w ' v B w HRU NON TROVA LA MIGLIORE SOLUZIONE PRESTAZIONI K = 2 A 0 B 100 C 99 D 100 Complessità i tempo O(kn 2 ), ove k è il numero i viste selezionte e n il numero elle viste el retiolo. In generle l'lgoritmo non trov l soluzione ottim, m è stto imostrto he esso fornise uoni risultti e vle l seguente proprietà: Prim selt B = 100+ 40*100 = 4100 C = 101 + 40*101 = 4141 Seon selt B = 100+*100 = 2100 Greey M = {A, C, B} B(M) = 6241 Ottimo M = {A, B, D} B(M) = 0 + (0-100) * 80 = 80 Per ogni retiolo, si B greey il enefiio i k viste selte on l'lgoritmo greey e B opt il enefiio i un insieme ottimo i k viste, llor B greey non è inferiore 0,63 * B opt. D = 100 + 40*100 = 4100 D = 100+*100 = 2100 6241/80 = 0,76 15 16 VARIANTE 1 PGA: ESEMPIO pm 1000 Algoritmo HRU h omplessità i tempo polinomile nel numero elle viste n, m esponenzile nel numero elle imensioni! O(kn 2 ) = O(k2 2 ) pm 1000 p 500 m 700 Con n = 10, il retiolo h 1024 noi e HRU seglie 1 viste in un or! L omplessità esponenzile ipene ue selte: A ogni iterzione si lol il enefiio i tutte le viste non mterilizzte A ogni iterzione si onsierno tutti i isenenti i un vist Cnite i prim nomin = {p},, p 0 m 100 150 fse i nomin: si selgono le viste più promettenti, fr quelle non nor prese in onsierzione, he si ggiungono ll'insieme elle viste nite, inizilmente vuoto. Le viste promettenti sono le più piole i ogni fmigli. Nel 02 è stto proposto un lgoritmo Polynomil Greey Algorithm (PGA) i omplessità polinomile nelle imensioni. fse i selt: si seglie l vist v fr quelle nite on il mssimo enefiio e si ritorn l psso preeente. Prim selt: {p} 17 18

PGA: ESEMPIO pm 1000 VARIANTE 2 pm 1000 p 500 m 700 Crio i lvoro on interrogzioni non equiproili p 0 m 100 150 Cnite i prim nomin = {p},, Cnite i seon nomin = {m},, {m}, Cnite i terz nomin = {m}, {pm},, {p}, Prim selt: {p} Seon selt: {m} Terz selt: {m} Invee i fissre il numero k i viste mterilizzre, si impone il vinolo he l'insieme M non oupi più i un erto spzio S. L soluzione in questo so è ivers HRU, m ll umentre elle imensioni i solito è l stess. 19 ALGORITMO CON VINCOLO DI SPAZIO BPUS ALGORITMO CON VINCOLO DI SPAZIO PBS (Pik By Size) Algoritmo BPUS(S) Benefiio per unità i spzio B s (v, M) = B(v, M)/S(v) = & w ' v B w /S(v) 1. M = {Top}; 2. A = V M; 3.w h i l e (S > 0) o 3.1. v = vist in A on mx Bs; 3.2. if (S S(v) > 0) then {S = S S(v); M = M " {v}; A = A {v} }; else S = 0; 4.r e t u r n M; Algoritmo PBS(S) 1. M = {Top}; 2. A = V M; 3.w h i l e (S > 0) o 3.1. v = l vist più piol in A; 3.2. if (S S(v) > 0) then {S = S S(v); M = M " {v}; A = A {v} }; else S = 0; 4.r e t u r n M; Si omport ome PBUS per retioli Size Restrite: per ogni vist v on k figli e per ogni suo genitore z, z! (1+k) v, quno z " Top Risultti sperimentli mostrno he il risultto trovto è uono nhe se il retiolo non è Size Restrite. 21 22 VARIANTE 3 VISTE CANDIDATE Il rio i lvoro è un prtiolre insieme i interrogzioni Q. Sono le v on ssoit lmeno un q... 1000 v q 1 q 1 2 {ProottoI, NegozioI, DtI} q 5 1000 v q 1 q 1 2 {ProottoI, NegozioI, DtI} q 5 1000 v 2 {ProottoI, NegozioI} 500 v q 3 3 q 4 {ProottoI, DtI} 700 v 4 {NegozioI, DtI} V2? NO 1000 v 2 {ProottoI, NegozioI} 500 v q 3 3 q 4 {ProottoI, DtI} 700 v 4 {NegozioI, DtI} 0 v 5 {ProottoI} q 6 100 v 6 {NegozioI} 150 v 7 {DtI} 0 v 5 {ProottoI} q 6 100 v 6 {NegozioI} 150 v 7 {DtI} 1 v 8 1 v 8 { } { } Ogni q si ssoi ll minim vist v he ne onsente il lolo. 23 24

CRITERIO PER STABILIRE SE UNA VISTA E CANDIDATA ALGORITMO PER TROVARE LE VISTE CANDIDATE Algoritmo BPT(Q) Dto uno shem i DW e un rio i lvoro Q, un vist v è ett nit se soisf un elle seguenti onizioni: ( esiste un interrogzione q ) Q tle he g(q) = g(v), ( esiste un oppi i viste nite v i e v j tli he g(v) = g(v i ) * g(v j ), on * estremo superiore Cnite = insieme ei g(v) tli he g(v)=g(q), per ogni q ) Q; while (Cnite mi) o for (g(v i ) ) Cnite with g(v i )! Top) o for (g(v j ) ) Cnite with (g(v j )! Top) n (g(v i ) + g(v j )) n (g(v j ) * g(v j ), Cnite)) o Cnite = Cnite " (g(v j ) * g(v j )); return Cnite; 25 26 ALGORITMO DI SCELTA DELLE VISTE CON CARICO DI LAVORO DIMENSIONI CON ATTRIBUTI D Q si trov l insieme elle possiile viste nturli Si etermin l insieme elle viste nite V Si trov l insieme elle viste mterilizzre on uno egli lgoritmi Ipotetio Riotto visti in preeenz Ipotetio: ome se si prtisse i ti ell giunzione i F on tutte le D. Si puo semplifire: - ome rie st F - se > un vist su h gli stessi gruppi i un su. 27 28 DIMENSIONI CON GERARCHIE MODIFICA DELLE VISTE CANDIDATE IN PRESENZA DI GERARCHIE Città NegozioI ProottoI Q1 ProottoI, NegozioI ProottoI, Città NegozioI Q2 Provini Q3 ProottoI, Provini In un vist v si sostituise un ttriuto più generle (Provini) on uno più speifio (Città) se si ottiene un vist v' i "poo" più grne: -S(v') < S(v). E' stto mostrto sperimentlmente he, on - = 0.95, si ottiene un sensiile riuzione el numero elle viste. ProottoI, NegozioI Q1 ProottoI, Città NegozioI Q2 Q3 29 30

CONCLUSIONI GLI INDICI SU VISTE MATERIALIZZATE Su un vist on ttriuti (, ) si possono efinire 4 inii: I, I I o I Gli inii efiniti su tutti gli ttriuti i un vist (I o I ) sono etti ompleti. Oorre un uon lgoritmo pprossimto per trovre le viste mterilizzre, prtire l rio i lvoro e rispettno i vinoli In presenz i gerrhie, oorre riurre l rinlità ell'insieme elle viste nite. Utilità egli inii: si onsieri l'interrogzione q = $ sull vist v on ttriuti (, ). In ssenz i inii il osto i eseuzione i q ipene v. Se esiste l'inie I il osto i eseuzione si stim on quello i esso i ti: C D = v(,) / Nkey(I ) = v(,) / v() 31 32 SCELTA DEGLI INDICI SU VISTE MATERIALIZZATE APPROCCIO CONSIDERATO Due iverse strtegie per risolvere il prolem Crio i lvoro Q Crio i lvoro Q Crio i lvoro Q Inii niti IniiC Viste nite V Selezione viste mterilizzte M Selezione viste mterilizzte M e inii I Vinoli e Oiettivi Algoritmo i selezione Moello ei osti Selezione inii memorizzre I Viste e inii M! I Viste M e Inii I Viste e inii M! I 33 34 REGOLE DI BUON SENSO Costruire un inie sugli ttriuti ell vist usti nelle restrizioni e he sono molto selettivi. Costruire un inie sugli ttriuti ell vist he sono hive estern ell tell sull qule è efinit l vist. 35