1 / 39

Basi di Dati

Basi di Dati. Sistemi per BD Relazionali: Modello Fisico Concetti Fondamentali. versione 2.0. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). DBMS Relazionali – Modello Fisico >> Sommario. Concetti Fondamentali. Introduzione

Download Presentation

Basi di Dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Fondamentali 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

  2. DBMS Relazionali – Modello Fisico >> Sommario Concetti Fondamentali • Introduzione • Memorie • Gerarchia di memorie • Dischi magnetici • Blocchi • Definizione di Modello fisico • Strategia di gestione del disco • Paginazione G. Mecca - mecca@unibas.it - Basi di Dati

  3. DBMS Relazionali – Modello Fisico >> Sommario Concetti Fondamentali • Strategia di Memorizzazione nei File • Record • Fattore di blocco • Directory del file • File heap e file ordinati • Strategia di Accesso ai File • Indice primario • Indice secondario G. Mecca - mecca@unibas.it - Basi di Dati

  4. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Introduzione • Parliamo del modello fisico dei DBMS relazionali • tecniche e strutture per la memorizzazione permanente delle basi di dati • es: le tabelle sono salvate in file su disco • Indipendente dal modello logico • Notevole impatto sulle prestazioni G. Mecca - mecca@unibas.it - Basi di Dati

  5. I/O CPU … Disco Magnetico Unità a Nastro RAM DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Gerarchia di Memorie basedi dati copie dellabase di dati I livelloin linea, volatileacc. diretto MB II livelloin linea, pers. acc. direttoGB III livellofuori linea, pers. acc. sequenzialeTB G. Mecca - mecca@unibas.it - Basi di Dati

  6. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Dischi Magnetici • Superfici magnetiche • impressionabili in modo persistente • Tecnologia • piatti rotanti attorno ad un asse • letti da testine • fissate ad un braccio mobile G. Mecca - mecca@unibas.it - Basi di Dati

  7. DBMS Relazionali – Modello Fisico >> Dischi Magnetici Dischi Magnetici Testine Piatti Movimento braccia Braccia G. Mecca - mecca@unibas.it - Basi di Dati

  8. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Dischi Magnetici • Organizzazione dei dati • blocchi • Blocco • unità di lettura e scrittura • dimensione tipica: 512 byte – 8 Kbyte • per leggere un bit è necessario leggere tutto il blocco in cui è contenuto • Accesso diretto ai blocchi (“block id”) G. Mecca - mecca@unibas.it - Basi di Dati

  9. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Dischi Magnetici • Tempi di trasferimento • movimento delle testine + lettura • Il movimento prevale • 1 blocco: 12-60ms • blocco successivo: 1-2ms • “Clustering” • raggruppamento dei dati perché siano fisicamente vicini su disco G. Mecca - mecca@unibas.it - Basi di Dati

  10. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Modello Fisico • Memorizzazione della base di dati in file • File di grandi dimensioni • verso i terabyte • dimensioni non compatibili con la RAM • Accesso ai dati • i dati devono essere conservati su disco • e trasportati nella RAM solo per le elab. G. Mecca - mecca@unibas.it - Basi di Dati

  11. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Modello Fisico • Problemi legati alla persistenza • Gestione del disco • come accedere efficientemente a blocchi su disco • Memorizzazione dei dati nei file • come codificare efficientemente le tabelle nei file • Ottimizzazione delle operazioni sui file • come effettuare efficientemente le ricerche e gli aggiornamenti G. Mecca - mecca@unibas.it - Basi di Dati

  12. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Modello Fisico • Tre componenti • Strategia di gestione del disco • Strategia di memorizzazione nei file • Strategia di accesso • Fondamentale per le prestazioni • le operazioni sulle tabelle vengono implementate dal DBMS secondo le strategie scelte G. Mecca - mecca@unibas.it - Basi di Dati

  13. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Gestione del Disco • Buffer Manager • modulo che gestisce l’accesso al disco • lettura e scrittura dei blocchi • Livelli superiori • “dammi il blocco X del disco” • Tecnica • “buffer” di blocchi in memoria RAM per limitare l’accesso al disco G. Mecca - mecca@unibas.it - Basi di Dati

  14. Disco Magnetico DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Gestione del Disco Memoria RAM Area destinata al Buffer blocco del disco #xxx spazio libero Buffer Manager blocco del disco #yyy blocchi da 8 kByte blocco del disco #zzz spazio libero G. Mecca - mecca@unibas.it - Basi di Dati

  15. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Gestione del Disco • Algoritmi di paginazione • simili alla gestione della memoria virtuale • Percentuale di successo (“hit ratio”) • percentuali di blocchi prelevati dal buffer • L’obiettivo è massimizzare l’hit ratio • Parametri su cui intervenire • dimensione del buffer • algoritmi di paginazione G. Mecca - mecca@unibas.it - Basi di Dati

  16. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Memorizzazione • Record: unità di registrazione nel file • Codifica binaria di una ennupla • Codifica posizionale • ordinamento degli attributi • memorizzazione dei valori in sequenza • rappresentazione fisica dei tipi G. Mecca - mecca@unibas.it - Basi di Dati

  17. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Memorizzazione • Dimensioni standard dei campi • int, integer: 32 bit, complemento a 2 • real, float: 32 bit, virgola mobile • double precision: 64 bit, virgola mobile • char: 8 bit, ASCII • char(n): n*8 bit, ASCII • date: 80 bit, ASCII, aaaa-mm-gg G. Mecca - mecca@unibas.it - Basi di Dati

  18. Studenti matricola cognome nome facolta annoCor 6554 Rossi Mario Ingegneria 1 8765 Neri Paolo Scienze 2 9283 Verdi Luisa Scienze 2 3456 Rossi Maria null 3 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Record, un Esempio TABLE Studenti(matricola integer NOT NULL PRIMARY KEY, cognome char(20) NOT NULL, nome char(20) NOT NULL, facolta char(10), annoCor integer); G. Mecca - mecca@unibas.it - Basi di Dati

  19. integer char(20) char(20) char(10) integer matricola cognome nome facolta annoCor 6554 Rossi Mario Ingegneria 1 1101…0010 001…110 0110…0010010 000..001 11010…010010 31 32 191 352 432 463 192 351 431 bit 0 4 byte 20 byte 20 byte 10 byte 4 byte DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Record di Lunghezza Fissa totale: 58 byte, 464 bit G. Mecca - mecca@unibas.it - Basi di Dati

  20. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Memorizzazione • Fattore di blocco • numero di record contenuti in un blocco • bfr= floor(dimBlocco/dimRecord) • floor: funzione parte intera inferiore • Esempio: • dimBlocco = 4096 byte dimBlocco = 512 byte • dimRecord= 58 byte dimRecord= 58 byte • bfr = 70 bfr = 8 • sfrido = 36 byte sfrido = 48 byte G. Mecca - mecca@unibas.it - Basi di Dati

  21. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Memorizzazione • File: sequenza di blocchi • Blocco: sequenza di record • Id di record: (id blocco, offset record) • Struttura del file • Struttura doppiamente collegata • Directory dei Blocchi (nell’header del file)lista di puntatori ai blocchi del file • Combinazione delle due G. Mecca - mecca@unibas.it - Basi di Dati

  22. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Tipi di File • File “heap” • organizzazione disordinata • i record vengono inseriti in coda • File ordinato • viene mantenuto l’ordine secondo un campo di ordinamento • i record vengono inseriti secondo l’ordine G. Mecca - mecca@unibas.it - Basi di Dati

  23. 6554 Rossi Mario Ing 1 7123 Birillo Giulio Let 2 8765 Neri Paolo Sci 2 3122 QueloPaolo Sci 2 intestazione e directory 9283 Verdi Luisa Sci 2 7771 Verdi Luigi Sci 3 record 3456 Rossi Maria null 3 3453 Mous Michi Agr 1 … … … … .. … … … … .. blocco 5433 Pinco Palla Agr 1 9876 Caio Tizio Ing 2 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali File Heap G. Mecca - mecca@unibas.it - Basi di Dati

  24. 3122 QueloPaolo Sci 2 7123 Birillo Giulio Let 2 intestazione 3453 Mous Michi Agr 1 7771 Verdi Luigi Sci 3 3456 Rossi Maria null 3 8765 Neri Paolo Sci 2 5433 Pinco Palla Agr 1 9283 Verdi Luisa Sci 2 … … … … .. … … … … .. 6554 Rossi Mario Ing 1 9876 Caio Tizio Ing 2 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali File Ordinato per Matricola G. Mecca - mecca@unibas.it - Basi di Dati

  25. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Memorizzazione • E’ necessario scegliere • dimensione dei blocchi • organizzazione dei file per le tabelle • Prestazioni inaccettabili • E’ necessario avere strutture aggiuntive per l’accesso ai file • Strategia di Accesso G. Mecca - mecca@unibas.it - Basi di Dati

  26. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Accesso • Operazioni sul file • Aggiornamenti (inserimenti, cancellazioni) • Ricerche con condizione (es: annoCor=2) • Ricerche in ordine (es: studenti per matricola) • Organizzazione Ideale • inserimenti e cancellazioni efficienti • ricerca binaria • evitare ordinamenti del file G. Mecca - mecca@unibas.it - Basi di Dati

  27. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Operazioni sui File Heap • Inserimenti molto rapidi • adatto per es. a tabelle temporanee • Ricerche lineari • Necessario l’ordinamento • creazione di una copia ordinata • 1M rec di 100 byte: 15 minuti • Prestazioni inaccettabili per file di grandi dimensioni G. Mecca - mecca@unibas.it - Basi di Dati

  28. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Operazioni sui File Ordinati • Inserimenti onerosi • ricerche e spostamenti • Ricerche binarie • log2(NB) accessi, dove NB = num. di blocchi • es: se dimBlocco=2048, dimFile=2G • NB=1M, log2(NB)=20, più ricerca lineare nel blocco • Ordinamento • non necessario per la chiave di ordinamento • necessario per le altre chiavi G. Mecca - mecca@unibas.it - Basi di Dati

  29. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Strategia di Accesso • Strutture di accesso • insieme di strutture ausiliarie di accesso al file utilizzate per migliorare le prestazioni delle operazioni • Indici: file di riferimenti al file primario • insieme di voci (chiave, rif.) es: indice analit. • più maneggevoli perché di dim. minori G. Mecca - mecca@unibas.it - Basi di Dati

  30. 3122 QueloPaolo Sci 2 3453 Mous Michi Agr 1 3456 Rossi Maria null 3 … … … … .. 6554 Rossi Mario Ing 1 3122 directorydell’indice 7123 7123 Birillo Giulio Let 2 … 7771 Verdi Luigi Sci 3 … 8765 Neri Paolo Sci 2 … … … … … .. 9934 9876 Caio Tizio Ing 2 … file di record valore dellachiave di ricerca puntatore ad un blocco 9934 Busti Lina Let 2 … … … … .. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Indice sulla Matricola puntatori ai blocchi G. Mecca - mecca@unibas.it - Basi di Dati

  31. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Indice sulla Matricola • Esempio • dimBlocco=2048 • dimFile=2G • NBFile =1M, log2(NBFile)=20 • numero di record dell’indice = 1M • dimensione record indice = 4byte + 6 byte • dimIndice=10M • NBIndice appross. 8192, log2(NBIndice)=13 G. Mecca - mecca@unibas.it - Basi di Dati

  32. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Tipi di Indici • Indice primario • indice su campo chiave primaria • file ordinato secondo il campo • uno solo per tabella • Indice secondario • indice su un campo non chiave primaria • file non ordinato secondo il campo • vari per tabella (es: su nome e su facolta) G. Mecca - mecca@unibas.it - Basi di Dati

  33. 3122 QueloPaolo Sci 2 3453 Mous Michi Agr 1 3456 Rossi Maria null 3 … … … … .. 6554 Rossi Mario Ing 1 7123 Birillo Giulio Let 2 7771 Verdi Luigi Sci 3 8765 Neri Paolo Sci 2 … … … … .. 9876 Caio Tizio Ing 2 … 9934 Busti Lina Let 2 … … … … .. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Indice Primario 3122 7123 … … … 9934 G. Mecca - mecca@unibas.it - Basi di Dati

  34. 3122 QueloPaolo Sci 2 3453 Mous Michi Agr 1 3456 Rossi Maria null 3 … … … … .. Birillo 6554 Rossi Mario Ing 1 Busti Caio … 7123 Birillo Giulio Let 2 7771 Verdi Luigi Sci 3 … 8765 Neri Paolo Sci 2 … … … … … .. Rossi 9876 Caio Tizio Ing 2 Rossi … Verdi 9934 Busti Lina Let 2 … … … … .. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Indice Secondario puntatori ai record valori ripetuti della chiave G. Mecca - mecca@unibas.it - Basi di Dati

  35. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali Indice Secondario • Esempio • dimBlocco=2048, dimFile=2G, dimRecord = 58 • NBFile =1M, numero di record del file approssimativamente 32M • ricerca lineare: 512K accessi in media • numero di record dell’indice appross. 32M • dimensione record indice = 20 byte + 7 byte • dimIndice1G (più o meno la metà del file) • NBIndice appr. 512K, log2(NBIndice)=19 G. Mecca - mecca@unibas.it - Basi di Dati

  36. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali In Sintesi • Il modello fisico è molto importante • Impatto notevole sulle prestazioni • Progettazione fisica (DBA) • scelta della strategia di gestione del disco (dimensione buffer, algoritmi di paginazione) • scelta della strategia di memorizzazione(dim. blocchi, file heap o file ordinati) • scelta della strategia di accesso(indici primari e secondari) G. Mecca - mecca@unibas.it - Basi di Dati

  37. DBMS Relazionali – Modello Fisico >> Sommario Concetti Fondamentali • Introduzione • Memorie • Gerarchia di memorie • Dischi magnetici • Blocchi • Modello fisico • Strategia di gestione del disco • Paginazione G. Mecca - mecca@unibas.it - Basi di Dati

  38. DBMS Relazionali – Modello Fisico >> Sommario Concetti Fondamentali • Strategia di Memorizzazione • Record • Fattore di blocco • Directory del file • File heap e file ordinati • Strategia di Accesso • Indice primario • Indice secondario G. Mecca - mecca@unibas.it - Basi di Dati

  39. 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

More Related