La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati versione 2.0 Questo.

Presentazioni simili


Presentazione sul tema: "G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati versione 2.0 Questo."— Transcript della presentazione:

1 G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

2 2 G. Mecca - - Basi di Dati Concetti Avanzati m Obiettivo m Indici multilivello Indici e tabelle ISAM B+ Tree (cenni) m Indici Hash File hash Indice hash m In Pratica DBMS Relazionali – Modello Fisico >> Sommario

3 3 G. Mecca - - Basi di Dati Obiettivo m Strategia di accesso ideale inserimenti e cancellazioni efficienti (t. cost ?) ricerca binaria evitare ordinamenti del file m Gli indici rappresentano un passo avanti m Problemi la ricerca si può migliorare gli inserimenti nei file ordinati sono un pb. DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Obiettivo

4 4 G. Mecca - - Basi di Dati Indici Multilivello m Possono migliorare i tempi di ricerca m Intuizione un indice è un file ordinato di record (chiave, puntatore) se i valori della chiave sono distinti, posso costruire un indice primario per lindice posso proseguire costruendo vari livelli di indice DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv.

5 5 G. Mecca - - Basi di Dati Indici Multilivello DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici Multiliv … 9934 … … … 8770 … … … 7488 NB blocchi NB/bfr blocchi 3122 … 7488 (NB/bfr)/bfr blocchi1 blocco 3554 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing Busti Lina Let2 … … … ….. …

6 6 G. Mecca - - Basi di Dati Indici Multilivello m Dinamica logaritmica: log bfr (NB) livelli di indice ricerca logaritmica con base bfr>2 m Esempio dim blocco =2048, dim record =58, dim file =2G NB=1M, bfr=204 (fattore di blocco dellindice) I livello = ceil(1M/204) = 5141 (ceil: p.te intera sup.) II livello = ceil (29960/204) = 26 ricerca in ceil(log 204 (1M)) + 1 accessi = 4 m Attenzione: tutti i valori devono essere distinti DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv.

7 7 G. Mecca - - Basi di Dati Indici Secondari Multiliv. DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … Birillo Busti … Verdi Pinco … Caio Rossi … blocco di puntatorivalori distinti

8 8 G. Mecca - - Basi di Dati Il Problema degli Inserimenti DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv. m Tutti i livelli sono file ordinati costo degli inserimenti m Due possibili soluzioni strutture ordinate statiche ISAM strutture ordinate dinamiche B Tree e B+ Tree

9 9 G. Mecca - - Basi di Dati Strutture Ordinate Statiche DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> ISAM m Strutture multilivello in cui spazio per i blocchi allocato staticamente file ordinato con blocchi contigui inserimenti effettuati ordinatamente finchè ce spazio file disordinato di trabocco (overflow) periodiche riorganizzazioni globali con fusione del file primario e del file di trabocco m ISAM: Indexed Sequential Access Method

10 10 G. Mecca - - Basi di Dati Struttura ISAM DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> ISAM … … RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing Busti Lina Let2 … … … ….. … 3333 Stop John Sci Mira Lanza Ing Caro Pino Ing3 Blocchi di overflow Blocchi contigui del disco

11 11 G. Mecca - - Basi di Dati Struttura ISAM DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> ISAM m Principali vantaggi allocazione contigua dei blocchi (località) la struttura non viene toccata m Svantaggi possono essere necessarie ristrutturazioni m Adatta a tabelle con dinamica limitata pochi inserimenti

12 12 G. Mecca - - Basi di Dati Strutture Ordinate Dinamiche DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree m Strutture multilivello in cui file ordinato con rappresentazione collegata allocazione dinamica dei blocchi i blocchi sono sempre parzialmente pieni algoritmi di inserimento opportuni riorganizzazioni locali (fusioni e divisioni dei blocchi) m B Tree, B+ Tree

13 13 G. Mecca - - Basi di Dati B+ Tree m In sintesi, albero di ricerca di apertura n>2 m Nodi al più n-1 val. della chiave ed n punt. a sottoal., m<=n, k 1 < k 2 < …< k m-1 m Sottoalberi i valori del primo sottoalbero sono minori o ug. di k 1 tutti i valori X del sottoalbero i sono compresi tra k i-1 e k i (k i-1 < X <= k i per i da 2 a m-1) i valori dellultimo sottoalbero sono maggiori di k m-1 DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree

14 14 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree Verdi Luigi Sci Birillo Giulio Let2 ……… 3599 Caio Tizio Ing Neri Paolo Sci2 ……… 4128 Rossi Maria Let Busti Lina Let 2 ……… 7400 Pinco Palla Ing Mous Michi Agr1 ……… … 1240 RossiMario Ing QueloPaolo Sci2 ……… Esempio: Ricerca di 4400 B+ Tree

15 15 G. Mecca - - Basi di Dati B+ Tree m Vincoli aggiuntivi lalbero deve essere bilanciato loccupazione dei blocchi deve essere almeno il 50% m Algoritmi di inserimento e cancellazione rispettare i vincoli fusioni e divisioni (possono coinvolgere vari livelli) m A regime blocchi pieni per i 2/3 (67% circa) DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree

16 16 G. Mecca - - Basi di Dati B+ Tree DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree Radice *3* Nuova Radice *16* 19*20*24*25*27* 30*33*34* 38* 39* *5* inserimento del valore *

17 17 G. Mecca - - Basi di Dati B+ Tree in Pratica m Ordine tipico: 200 numero medio di puntatori 133 (molto alto) m Capacità di Indicizzazione: profondità 4: = blocchi profondità 3: = blocchi m I livelli più alti possono essere tenuti nel buffer: Livello 1:1 blocco = al più 8 Kbyte Livello 2: 133 blocchi = al più 1 Mbyte Livello 3: blocchi = al più 133 MBytes DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree

18 18 G. Mecca - - Basi di Dati B+ Tree m Vantaggi inserimenti logaritmici meno costosi che in un file ordinato ricerche rapide accesso ordinato secondo la chiave di ordinamento è possibile aggiungere indici secondari m In generale ha prestazioni migliori della struttura ISAM è utilizzata dalla maggior parte dei DBMS (VSAM) DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree

19 19 G. Mecca - - Basi di Dati Hashing m E possibile ottenere tempo di inserimento costante ? tempo di ricerca costante ? es: matricola=1234 in tempo costante m Hashing ricerche in tempo lineare nella lunghezza della chiave m File Hash m Indice Hash DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing

20 20 G. Mecca - - Basi di Dati File Hash m Idea è possibile utilizzare una funzione di hash per inserire i record nel file e poterli recuperarli in tempo praticamente costante successivamente organizzazione alternativa ai file heap e ai file ordinati m Hashing statico (simile a ISAM) m Hashing dinamico (simile a B+ Tree) DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing

21 21 G. Mecca - - Basi di Dati File Hash DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing puntatori ad N blocchi N-1 Funzione di hash h h Valore della chiave k h(k) es: (a+k*b) mod N 5442 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. …

22 22 G. Mecca - - Basi di Dati File Hash m Organizzazione alternativa a file heap e file ordinati m File hash statici Numero di bucket = N N Blocchi iniziali per il file allocati staticamente Blocchi di overflow DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing

23 23 G. Mecca - - Basi di Dati File Hash Statico DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing Puntatori agli N blocchi tipicamente in RAM N-1 h Valore della chiave k h(k) 5442 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … 8663 Stop John Sci Mira Lanza Ing Caro Pino Ing3

24 24 G. Mecca - - Basi di Dati File Hash Dinamico (Cenni) m Il numero di blocco può crescere dinamicamente m N Blocchi iniziali per il file m Quando un blocco si riempie, il numero di blocchi viene raddoppiato m Servono funzioni di hash appropriate DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing

25 25 G. Mecca - - Basi di Dati Indice Hash m Indice per un file primario m File primario tipicamente heap m Indice memorizzato con organizzazione hash su una chiave di ricerca m Vantaggi inserimenti e ricerche molto efficienti utile per correlazioni tra tabelle diverse es: nome degli studenti che hanno sostenuto lesame di analisi DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing

26 26 G. Mecca - - Basi di Dati Indice Hash DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing 5442 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … N-1 h Valore della chiave k h(k) …

27 27 G. Mecca - - Basi di Dati In Pratica m File ordinati + Indici Multilivello ricerche logaritmiche (con base molto alta) ordinamento inserimenti logaritmici (con ristrutturazioni nel caso di B+ tree) m File heap + Indici Hash inserimenti efficienti ricerche efficienti non supporta lordinamento DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> In pratica In sintesi: non esiste lorganizzazione ideale

28 28 G. Mecca - - Basi di Dati In Pratica m MySQL tabelle ISAM, MyISAM, Heap (+ InnoDB, BDB) indici B+ Tree, Hash m PostgreSQL tabelle in file ordinati indici B+ Tree, Hash (+ R Tree) operatore CLUSTER DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> In pratica

29 29 G. Mecca - - Basi di Dati Concetti Avanzati m Obiettivo m Indici Multilivello Indici e tabelle ISAM B+ Tree m Indici Hash File hash Indice hash m In Pratica DBMS Relazionali – Modello Fisico >> Sommario

30 30 G. Mecca - - Basi di Dati Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Scaricare ppt "G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati versione 2.0 Questo."

Presentazioni simili


Annunci Google