G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
2 G. Mecca - - Basi di Dati Dettagli e Approfondimenti m Dischi magnetici Faccia Traccia Settore Id di blocco Tempo di posizionamento Ritardo di rotazione Tempo di trasferimento DBMS Relazionali – Modello Fisico >> Sommario
3 G. Mecca - - Basi di Dati Dettagli e Approfondimenti m Strategia di Gestione del Disco Relazione con il Sistema Operativo m Strategia di Memorizzazione nei File Record a lunghezza variabile m Strategia di Accesso ai File Operazioni primitive sui file Terminologia degli indici DBMS Relazionali – Modello Fisico >> Sommario
4 G. Mecca - - Basi di Dati Gerarchia di Memorie m Gerarchia di Memorie RAM, disco, nastro base di dati su disco copie della base di dati su nastro m Altre memorie cache di primo livello RAM flash dischi ottici DBMS Relazionali – Modello Fisico >> Dettagli >> Gerarchia di Memorie
5 G. Mecca - - Basi di Dati Dischi Magnetici m Disco superficie magnetica e testine blocchi accesso casuale id di blocco tempo di trasferimento DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
6 G. Mecca - - Basi di Dati Dischi Magnetici m Asse rotante 3600 – 7200 rpm m Faccia piatto m Traccia sup. magnetica m Settore arco di traccia m Cilindro tracce di ug. raggio DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici Asse Cilindro Testine Movimento braccia Braccia Tracce Settore Piatti
7 G. Mecca - - Basi di Dati Dischi Magnetici m Blocco o Pagina spazio multiplo del settore x1 – x16 settore tipico: 512 byte m Id di blocco indirizzo hardware faccia, traccia, settore testina, cilindro, settore m Letture non parallele (>> dischi RAID) DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
8 G. Mecca - - Basi di Dati Dischi Magnetici m Tempi tempo di posizionamento (seek) 8 – 25 ms ritardo di rotazione (latency) 4 – 6 ms tempo di trasferimento (transfer) 2 – 10 MB/sec. – <= 0.5 ms per 512 byte m Prevale il tempo di posizionamento località dei blocchi DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
9 G. Mecca - - Basi di Dati Modello Fisico m Problemi legati alla gestione dei dati persistenti Gestione del disco Memorizzazione dei dati nei file Ottimizzazione delle operazioni sui file m Modello fisico Strategia di gestione del disco Strategia di memorizzazione nei file Strategia di accesso DBMS Relazionali – Modello Fisico >> Dettagli
10 G. Mecca - - Basi di Dati Strategia di Gestione del Disco m Strategia di gestione del disco gestore del buffer buffer di blocchi nella RAM hit ratio paginazione DBMS Relazionali – Modello Fisico >> Dettagli
11 G. Mecca - - Basi di Dati Strategia di Gestione del Disco DBMS Relazionali – Modello Fisico >> Dettagli Disco Magnetico... # #8292 # #16484 # #24676 # #32868 # # Buffer Manager Memoria RAM blocco del disco #xxx spazio libero Area destinata al Buffer blocco del disco #yyy blocco del disco #zzz blocchi da 8 kByte
12 G. Mecca - - Basi di Dati Strategia di Gestione del Disco m Relazione con il Sistema Operativo dammi il byte i-esimo del file F m Problemi indipendenza dalla piattaforma dimensioni dei file (> 4GB) file memorizzati su più dischi prefetching DBMS Relazionali – Modello Fisico >> Dettagli >> Gestione del Disco
13 G. Mecca - - Basi di Dati Strategia di Memorizzazione m Strategia di Memorizzazione File: sequenza di blocchi Blocco: sequenza di record Record: codifica binaria di una ennupla Fattore di Blocco id di record: (id di blocco, offset) DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
14 G. Mecca - - Basi di Dati Record di Lunghezza Fissa DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione integerchar(20) char(10)integer matricolacognomenomefacolta 6554RossiMarioIngegneria annoCor 1 bit byte20 byte 10 byte 4 byte 001… … … … totale: 58 byte, 464 bit
15 G. Mecca - - Basi di Dati Record di Lunghezza Variabile m Esistono attributi di lunghezza variabile null varchar(n): al più 8*n bit DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione 3456RossiMarianull3 ??? matricolacognomenomefacoltaannoCor
16 G. Mecca - - Basi di Dati Record di Lunghezza Variabile DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione integervarchar(20) char(10)integer matricolacognomenomefacolta 6554RossiMarioIngegneria annoCor RossiMarianull3 tot: byte 1 byte 001… … … … xxxx 1 byte = 001… … … xxx x = tot: byte
17 G. Mecca - - Basi di Dati Record di Lunghezza Variabile DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione m Record di lunghezza fissa spreco di spazio semplice localizzazione dei record (offset) m Record di lunghezza variabile risparmio di spazio localizzazione complessa dei record intestazione di blocco con puntatori allinizio dei record
18 G. Mecca - - Basi di Dati Organizzazione dei File DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione m File heap inserimenti disordinati vantaggio: rapidità di inserimento m File ordinato inserimenti ordinati rispetto ad un attributo pb: complessità degli inserimenti
19 G. Mecca - - Basi di Dati Struttura di Accesso m Struttura di Accesso strutture ausiliarie per migliorare le prest. m Gestore dei dellaccesso ai file modulo a livello superiore rispetto al buffer manager gestisce lorganizzazione dei file ed esegue le operazioni usando i metodi di accesso DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
20 G. Mecca - - Basi di Dati Operazioni sui File m Creazione e apertura OPEN RESET bl. corrente m Letture e ricerche SCAN FIND condizione READ blocco corrente FIND NEXT condiz. FIND ORDERED attr. m Modifiche INSERT record DELETE record MODIFY record m Chiusura CLOSE m Riorganizzazione REORGANIZE DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
21 G. Mecca - - Basi di Dati Strutture di Accesso m Indice primario indice su campo chiave primaria file ordinato secondo il campo uno solo per tabella m Indice secondario indice su un campo non chiave primaria file non ordinato secondo il campo vari per tabella (es: su nome e su facolta) DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
22 G. Mecca - - Basi di Dati Indice Primario DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso 6554 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … … 9934 … …
23 G. Mecca - - Basi di Dati Indice Secondario DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso 6554 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … Birillo Busti … Verdi Rossi … Caio Rossi …
24 G. Mecca - - Basi di Dati Terminologia degli Indici m Indice denso una voce per ogni record del file m Indice sparso una voce per ogni blocco del file m Indice su singolo attributo m Indice su più attributi la dimensione dellindice tende ad aumentare (coppie di valori degli attributi) DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
25 G. Mecca - - Basi di Dati Terminologia degli Indici m Indice di raggruppamento lindice implica una organizzazione del file (es: organizzazione ordinata rispetto alla chiave primaria) m Indici non di raggruppamento lindice non implica una organizzazione del file (voci vicine nellindice non necessariamente sono vicine nel file) m Importante per migliorare la località DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
26 G. Mecca - - Basi di Dati Uso degli Indici m Indice primario assume organizzazione ordinata del file singolo attributo, sparso, di raggruppamento uno solo per tabella (creato autom.) m Indice secondario non assume ordinamento del file (es: heap) uno o più attributi, denso, non di raggruppamento vari per tabella; es: indice sec. su facoltà DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
27 G. Mecca - - Basi di Dati Uso degli Indici m Normalmente più indici per tabella es: indice primario su matricola + indice secondario su nome e/o facoltà m Dipende dalle operazioni sulla tabella m Compromesso nelluso degli indici maggior costo degli inserimenti e cancellazioni (file ordinati) minor costo delle ricerche e ordinamenti DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
28 G. Mecca - - Basi di Dati Dettagli e Approfondimenti m Dischi magnetici Faccia Traccia Settore Id di blocco Tempo di posizionamento Ritardo di rotazione Tempo di trasferimento DBMS Relazionali – Modello Fisico >> Sommario
29 G. Mecca - - Basi di Dati Dettagli e Approfondimenti m Strategia di Gestione del Disco Relazione con il Sistema Operativo m Strategia di Memorizzazione Record a lunghezza variabile Inserimenti in file ordinati m Strategia di Accesso Operazioni primitive sui file Indici sparsi, indici densi DBMS Relazionali – Modello Fisico >> Sommario
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.