Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Strutture dati per insiemi disgiunti
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Tecnologia delle basi di dati: Strutture fisiche di accesso
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
File System Cos’è un File System File e Directory
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Valutazione della Qualità del Codice HTML versione 2.0 Questo.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Introduzione versione 2.0 Questo.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Fondamentali versione 2.0 Questo.
Tecnologie di Sviluppo per il Web
Modello Concettuale Dettagli e Approfondimenti
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Concetti Fondamentali versione.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Progettazione e Forme Normali
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Fisica e Tuning: Concetti Avanzati versione 2.0 Questo lavoro è concesso.
Frontespizio Economia Monetaria Anno Accademico
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Realizzazione del file system
Realizzazione del file system
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
File.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati.
eliana minicozzi linguaggi1a.a lezione2
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Heap binomiali Gli heap binomiali sono strutture dati su cui si possono eseguire efficientemente le operazioni: Make(H) : crea uno heap vuoto Insert(H,
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Dettagli e Approfondimenti versione.
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
RICERCA DI MERCATO PER NON ADDETTI
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Calcolo Parallelo e Distribuito
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
RB-insert(T, z) // z.left = z.right = T.nil Insert(T, z) z.color = RED // z è rosso. Lunica violazione // possibile delle proprietà degli alberi // rosso-neri.
Basi di Dati e Sistemi Informativi
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
Progettare corsi con Moodle
Bando Pittori e Scultori in Piemonte alla metà del ‘700
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
Programmazione Procedurale in Linguaggio C++
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati 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) G. Mecca – mecca@unibas.it – Università della Basilicata

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

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

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

Indici Multilivello 1 blocco (NB/bfr)/bfr blocchi NB/bfr blocchi DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici Multiliv. Indici Multilivello 3554 Rossi Mario Ing 1 5765 Neri Paolo Sci 2 3456 Rossi Maria null 3 … … … … .. 4123 Birillo Giulio Let 2 3122 QueloPaolo Sci 2 4771 Verdi Luigi Sci 3 3453 Mous Michi Agr 1 5876 Caio Tizio Ing 2 9934 Busti Lina Let 2 … … … … .. … 3122 4123 … 9934 5990 6102 8770 8770 … 3122 5990 7488 3122 … 7488 1 blocco (NB/bfr)/bfr blocchi NB/bfr blocchi NB blocchi G. Mecca - mecca@unibas.it - Basi di Dati

Indici Multilivello Dinamica logaritmica: logbfr(NB) livelli di indice DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv. Indici Multilivello Dinamica logaritmica: logbfr(NB) livelli di indice ricerca logaritmica con base bfr>2 Esempio dimblocco=2048, dimrecord=58, dimfile=2G NB=1M, bfr=204 (fattore di blocco dell’indice) I livello = ceil(1M/204) = 5141 (ceil: p.te intera sup.) II livello = ceil (29960/204) = 26 ricerca in ceil(log204(1M)) + 1 accessi = 4 Attenzione: tutti i valori devono essere distinti G. Mecca - mecca@unibas.it - Basi di Dati

Indici Secondari Multiliv. DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Indici multiliv. Indici Secondari Multiliv. 6554 Rossi Mario Ing 1 8765 Neri Paolo Sci 2 3456 Rossi Maria null 3 … … … … .. 7123 Birillo Giulio Let 2 3122 QueloPaolo Sci 2 7771 Verdi Luigi Sci 3 3453 Mous Michi Agr 1 9876 Caio Tizio Ing 2 9934 Busti Lina Let 2 … … … … .. … Birillo Busti … Verdi Pinco Caio Rossi valori distinti blocco di puntatori G. Mecca - mecca@unibas.it - Basi di Dati

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

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

Blocchi contigui del disco DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> ISAM Struttura ISAM 3122 4123 5888 9934 8880 … 5990 6102 7402 8770 8122 6442 7488 7412 3554 Rossi Mario Ing 1 5765 Neri Paolo Sci 2 3456 Rossi Maria null 3 … … … … .. 4123 Birillo Giulio Let 2 3122 QueloPaolo Sci 2 4771 Verdi Luigi Sci 3 3453 Mous Michi Agr 1 5876 Caio Tizio Ing 2 9934 Busti Lina Let 2 … … … … .. 3333 Stop John Sci 3 3442 Mira Lanza Ing 2 5777 Caro Pino Ing 3 Blocchi contigui del disco Blocchi di overflow G. Mecca - mecca@unibas.it - Basi di Dati

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

Strutture Ordinate Dinamiche DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree Strutture Ordinate Dinamiche 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) B Tree, B+ Tree G. Mecca - mecca@unibas.it - Basi di Dati

B+ Tree In sintesi, albero di ricerca di apertura n>2 Nodi DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree B+ Tree In sintesi, albero di ricerca di apertura n>2 Nodi al più n-1 val. della chiave ed n punt. a sottoal. <p1, k1, p2, k2, p3, … pm-1, km-1, pm>, m<=n, k1< k2 < …< km-1 Sottoalberi i valori del primo sottoalbero sono minori o ug. di k1 tutti i valori X del sottoalbero i sono compresi tra ki-1 e ki (ki-1 < X <= ki per i da 2 a m-1) i valori dell’ultimo sottoalbero sono maggiori di km-1 G. Mecca - mecca@unibas.it - Basi di Dati

B+ Tree Esempio: Ricerca di 4400 DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree 1100 QueloPaolo Sci 2 B+ Tree ……… 1240 Rossi Mario Ing 1 1240 3121 1241 Birillo Giulio Let 2 ……… 3121 Verdi Luigi Sci 3 3122 Neri Paolo Sci 2 3599 4128 ……… 7552 7400 3599 Caio Tizio Ing 2 3600 Busti Lina Let 2 ……… Esempio: Ricerca di 4400 4128 Rossi Maria Let 2 7800 8900 4129 Mous Michi Agr 1 ……… 7400 Pinco Palla Ing 2 … G. Mecca - mecca@unibas.it - Basi di Dati

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

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

B+ Tree in Pratica Ordine tipico: 200 Capacità di Indicizzazione: DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> B+ Tree B+ Tree in Pratica Ordine tipico: 200 numero medio di puntatori 133 (molto alto) Capacità di Indicizzazione: profondità 4: 1334 = 312.900.700 blocchi profondità 3: 1333 = 2.352.637 blocchi 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: 17.689 blocchi = al più 133 MBytes G. Mecca - mecca@unibas.it - Basi di Dati

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

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

File Hash Idea Hashing statico (simile a ISAM) DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing File Hash 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 Hashing statico (simile a ISAM) Hashing dinamico (simile a B+ Tree) G. Mecca - mecca@unibas.it - Basi di Dati

File Hash h(k) Valore della chiave k Funzione puntatori di hash h DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing File Hash 5442 Rossi Mario Ing 1 3425 Neri Paolo Sci 2 9876 Rossi Maria null 3 … … … … .. 2112 Birillo Giulio Let 2 3122 QueloPaolo Sci 2 7771 Verdi Luigi Sci 3 4775 Mous Michi Agr 1 6779 Caio Tizio Ing 2 1234 Busti Lina Let 2 … … … … .. … 1 2 3 N-1 Valore della chiave k h(k) Funzione di hash h h puntatori ad N blocchi es: (a+k*b) mod N G. Mecca - mecca@unibas.it - Basi di Dati

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

File Hash Statico h(k) Valore della chiave k Puntatori agli N blocchi DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing File Hash Statico 3122 QueloPaolo Sci 2 4775 Mous Michi Agr 1 9876 Rossi Maria null 3 8663 Stop John Sci 3 3442 Mira Lanza Ing 2 9777 Caro Pino Ing 3 … … … … .. h(k) 1 5442 Rossi Mario Ing 1 2 Valore della chiave k 3 2112 Birillo Giulio Let 2 h 7771 Verdi Luigi Sci 3 3425 Neri Paolo Sci 2 … … … … .. N-1 6779 Caio Tizio Ing 2 Puntatori agli N blocchi tipicamente in RAM … 1234 Busti Lina Let 2 … … … … .. G. Mecca - mecca@unibas.it - Basi di Dati

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

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

Indice Hash h(k) Valore della chiave k h DBMS Relazionali – Modello Fisico >> Concetti Avanzati >> Hashing Indice Hash 1 2 3 N-1 h Valore della chiave k h(k) 5442 9876 2112 6779 8723 9112 4775 3122 1234 7771 9543 3224 … 5442 Rossi Mario Ing 1 3425 Neri Paolo Sci 2 9876 Rossi Maria null 3 … … … … .. 2112 Birillo Giulio Let 2 3122 QueloPaolo Sci 2 7771 Verdi Luigi Sci 3 4775 Mous Michi Agr 1 6779 Caio Tizio Ing 2 1234 Busti Lina Let 2 … … … … .. … G. Mecca - mecca@unibas.it - Basi di Dati

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

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

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

Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - mecca@unibas.it - Basi di Dati