300 likes | 436 Views
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). DBMS Relazionali – Modello Fisico >> Sommario. Dettagli e Approfondimenti.
E N D
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) G. Mecca – mecca@unibas.it – Università della Basilicata
DBMS Relazionali – Modello Fisico >> Sommario Dettagli e Approfondimenti • Dischi magnetici • Faccia • Traccia • Settore • Id di blocco • Tempo di posizionamento • Ritardo di rotazione • Tempo di trasferimento G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Sommario Dettagli e Approfondimenti • Strategia di Gestione del Disco • Relazione con il Sistema Operativo • Strategia di Memorizzazione nei File • Record a lunghezza variabile • Strategia di Accesso ai File • Operazioni primitive sui file • Terminologia degli indici G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Gerarchia di Memorie Gerarchia di Memorie • Gerarchia di Memorie • RAM, disco, nastro • base di dati su disco • copie della base di dati su nastro • Altre memorie • cache di primo livello • RAM flash • dischi ottici G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici Dischi Magnetici • Disco • superficie magnetica e testine • blocchi • accesso casuale • id di blocco • tempo di trasferimento G. Mecca - mecca@unibas.it - Basi di Dati
Asse rotante 3600 – 7200 rpm Faccia piatto Traccia sup. magnetica Settore arco di traccia Cilindro tracce di ug. raggio Asse Tracce Testine Settore Piatti Cilindro Movimento braccia Braccia DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici Dischi Magnetici G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici Dischi Magnetici • Blocco o Pagina • spazio multiplo del settore x1 – x16 • settore tipico: 512 byte • Id di blocco • indirizzo hardware • faccia, traccia, settore • testina, cilindro, settore • Letture non parallele (>> dischi RAID) G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici Dischi Magnetici • 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 • Prevale il tempo di posizionamento • “località” dei blocchi G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli Modello Fisico • Problemi legati alla gestione dei dati persistenti • Gestione del disco • Memorizzazione dei dati nei file • Ottimizzazione delle operazioni sui file • Modello fisico • Strategia di gestione del disco • Strategia di memorizzazione nei file • Strategia di accesso G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli Strategia di Gestione del Disco • Strategia di gestione del disco • gestore del buffer • buffer di blocchi nella RAM • hit ratio • paginazione G. Mecca - mecca@unibas.it - Basi di Dati
Disco Magnetico DBMS Relazionali – Modello Fisico >> Dettagli 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
DBMS Relazionali – Modello Fisico >> Dettagli >> Gestione del Disco Strategia di Gestione del Disco • Relazione con il Sistema Operativo • “dammi il byte i-esimo del file F” • Problemi • indipendenza dalla piattaforma • dimensioni dei file (> 4GB) • file memorizzati su più dischi • “prefetching” G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione Strategia di Memorizzazione • 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) G. Mecca - mecca@unibas.it - Basi di Dati
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 >> Dettagli >> Memorizzazione Record di Lunghezza Fissa totale: 58 byte, 464 bit G. Mecca - mecca@unibas.it - Basi di Dati
matricola cognome nome facolta annoCor 3456 Rossi Maria null 3 ??? DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione Record di Lunghezza Variabile • Esistono attributi di lunghezza variabile • null • varchar(n): al più 8*n bit G. Mecca - mecca@unibas.it - Basi di Dati
integer varchar(20) varchar(20) char(10) integer matricola cognome nome facolta annoCor 6554 Rossi Mario Ingegneria 1 x x x 1101…0010 x = 001…110 0110…0010010 00..001 11010…010010 1 byte 1 byte 1 byte 1 byte 1 byte 3456 Rossi Maria null 3 x x x x 001…110 0110…0010010 00..001 = 11010…010010 DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione Record di Lunghezza Variabile tot: 28 +5 byte tot: 18 +5 byte G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione Record di Lunghezza Variabile • Record di lunghezza fissa • spreco di spazio • semplice localizzazione dei record (offset) • Record di lunghezza variabile • risparmio di spazio • localizzazione complessa dei record • intestazione di blocco con puntatori all’inizio dei record G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione Organizzazione dei File • File heap • inserimenti disordinati • vantaggio: rapidità di inserimento • File ordinato • inserimenti ordinati rispetto ad un attributo • pb: complessità degli inserimenti G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Struttura di Accesso • Struttura di Accesso • strutture ausiliarie per migliorare le prest. • Gestore dei dell’accesso ai file • modulo a livello superiore rispetto al buffer manager • gestisce l’organizzazione dei file ed esegue le operazioni usando i metodi di accesso G. Mecca - mecca@unibas.it - Basi di Dati
Creazione e apertura OPEN RESET bl. corrente Letture e ricerche SCAN FIND condizione READ blocco corrente FIND NEXT condiz. FIND ORDERED attr. Modifiche INSERT record DELETE record MODIFY record Chiusura CLOSE Riorganizzazione REORGANIZE DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Operazioni sui File G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Strutture di Accesso • 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
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 >> Dettagli >> Accesso Indice Primario 3122 7123 … … … 9934 G. Mecca - mecca@unibas.it - Basi di Dati
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 >> Dettagli >> Accesso Indice Secondario G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Terminologia degli Indici • Indice denso • una voce per ogni record del file • Indice sparso • una voce per ogni blocco del file • Indice su singolo attributo • Indice su più attributi • la dimensione dell’indice tende ad aumentare (coppie di valori degli attributi) G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Terminologia degli Indici • Indice di raggruppamento • l’indice implica una organizzazione del file (es: organizzazione ordinata rispetto alla chiave primaria) • Indici non di raggruppamento • l’indice non implica una organizzazione del file (voci vicine nell’indice non necessariamente sono vicine nel file) • Importante per migliorare la località G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Uso degli Indici • Indice primario • assume organizzazione ordinata del file • singolo attributo, sparso, di raggruppamento • uno solo per tabella (creato autom.) • 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à G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso Uso degli Indici • Normalmente più indici per tabella • es: indice primario su matricola + indice secondario su nome e/o facoltà • Dipende dalle operazioni sulla tabella • Compromesso nell’uso degli indici • maggior costo degli inserimenti e cancellazioni (file ordinati) • minor costo delle ricerche e ordinamenti G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Sommario Dettagli e Approfondimenti • Dischi magnetici • Faccia • Traccia • Settore • Id di blocco • Tempo di posizionamento • Ritardo di rotazione • Tempo di trasferimento G. Mecca - mecca@unibas.it - Basi di Dati
DBMS Relazionali – Modello Fisico >> Sommario Dettagli e Approfondimenti • Strategia di Gestione del Disco • Relazione con il Sistema Operativo • Strategia di Memorizzazione • Record a lunghezza variabile • Inserimenti in file ordinati • Strategia di Accesso • Operazioni primitive sui file • Indici sparsi, indici densi 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