G. Mecca – – Università della Basilicata 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)
2 G. Mecca - - Basi di Dati Concetti Fondamentali m Introduzione m Memorie Gerarchia di memorie Dischi magnetici Blocchi m Definizione di Modello fisico m Strategia di gestione del disco Paginazione DBMS Relazionali – Modello Fisico >> Sommario
3 G. Mecca - - Basi di Dati Concetti Fondamentali m Strategia di Memorizzazione nei File Record Fattore di blocco Directory del file File heap e file ordinati m Strategia di Accesso ai File Indice primario Indice secondario DBMS Relazionali – Modello Fisico >> Sommario
4 G. Mecca - - Basi di Dati Introduzione m 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 m Indipendente dal modello logico m Notevole impatto sulle prestazioni DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
5 G. Mecca - - Basi di Dati Gerarchia di Memorie DBMS Relazionali – Modello Fisico >> Concetti Fondamentali CPU Unità a NastroDisco Magnetico I/O … RAM I livello in linea, volatile acc. diretto MB II livello in linea, pers. acc. diretto GB III livello fuori linea, pers. acc. sequenziale TB base di dati copie della base di dati
6 G. Mecca - - Basi di Dati Dischi Magnetici m Superfici magnetiche impressionabili in modo persistente m Tecnologia piatti rotanti attorno ad un asse letti da testine fissate ad un braccio mobile DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
7 G. Mecca - - Basi di Dati Dischi Magnetici DBMS Relazionali – Modello Fisico >> Dischi Magnetici Testine Movimento braccia Braccia Piatti
8 G. Mecca - - Basi di Dati Dischi Magnetici m Organizzazione dei dati blocchi m Blocco unità di lettura e scrittura dimensione tipica: 512 byte – 8 Kbyte per leggere un bit è necessario leggere tutto il blocco in cui è contenuto m Accesso diretto ai blocchi (block id) DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
9 G. Mecca - - Basi di Dati Dischi Magnetici m Tempi di trasferimento movimento delle testine + lettura m Il movimento prevale 1 blocco: 12-60ms blocco successivo: 1-2ms m Clustering raggruppamento dei dati perché siano fisicamente vicini su disco DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
10 G. Mecca - - Basi di Dati Modello Fisico m Memorizzazione della base di dati in file m File di grandi dimensioni verso i terabyte dimensioni non compatibili con la RAM m Accesso ai dati i dati devono essere conservati su disco e trasportati nella RAM solo per le elab. DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
11 G. Mecca - - Basi di Dati Modello Fisico m 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 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
12 G. Mecca - - Basi di Dati Modello Fisico m Tre componenti Strategia di gestione del disco Strategia di memorizzazione nei file Strategia di accesso m Fondamentale per le prestazioni le operazioni sulle tabelle vengono implementate dal DBMS secondo le strategie scelte DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
13 G. Mecca - - Basi di Dati Strategia di Gestione del Disco m Buffer Manager modulo che gestisce laccesso al disco lettura e scrittura dei blocchi m Livelli superiori dammi il blocco X del disco m Tecnica buffer di blocchi in memoria RAM per limitare laccesso al disco DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
14 G. Mecca - - Basi di Dati Strategia di Gestione del Disco DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 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
15 G. Mecca - - Basi di Dati Strategia di Gestione del Disco m Algoritmi di paginazione simili alla gestione della memoria virtuale m Percentuale di successo (hit ratio) percentuali di blocchi prelevati dal buffer m Lobiettivo è massimizzare lhit ratio m Parametri su cui intervenire dimensione del buffer algoritmi di paginazione DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
16 G. Mecca - - Basi di Dati Strategia di Memorizzazione m Record: unità di registrazione nel file m Codifica binaria di una ennupla m Codifica posizionale ordinamento degli attributi memorizzazione dei valori in sequenza rappresentazione fisica dei tipi DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
17 G. Mecca - - Basi di Dati Strategia di Memorizzazione m 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 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
18 G. Mecca - - Basi di Dati Record, un Esempio DBMS Relazionali – Modello Fisico >> Concetti Fondamentali TABLE Studenti(matricola integer NOT NULL PRIMARY KEY, cognome char(20) NOT NULL, nome char(20) NOT NULL, facolta char(10), annoCor integer); Studentimatricolacognomenomefacolta 6554RossiMarioIngegneria 8765NeriPaoloScienze 3456RossiMarianull 9283VerdiLuisaScienze annoCor
19 G. Mecca - - Basi di Dati Record di Lunghezza Fissa DBMS Relazionali – Modello Fisico >> Concetti Fondamentali integerchar(20) char(10)integer matricolacognomenomefacolta 6554RossiMarioIngegneria annoCor 1 bit byte20 byte 10 byte 4 byte 001… … … … totale: 58 byte, 464 bit
20 G. Mecca - - Basi di Dati Strategia di Memorizzazione m Fattore di blocco numero di record contenuti in un blocco bfr= floor(dim Blocco /dim Record ) floor: funzione parte intera inferiore m Esempio: dim Blocco = 4096 bytedim Blocco = 512 byte dim Record = 58 bytedim Record = 58 byte bfr = 70bfr = 8 sfrido = 36 bytesfrido = 48 byte DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
21 G. Mecca - - Basi di Dati Strategia di Memorizzazione m File: sequenza di blocchi m Blocco: sequenza di record m Id di record: (id blocco, offset record) m Struttura del file Struttura doppiamente collegata Directory dei Blocchi (nellheader del file) lista di puntatori ai blocchi del file m Combinazione delle due DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
22 G. Mecca - - Basi di Dati Tipi di File m File heap organizzazione disordinata i record vengono inseriti in coda m File ordinato viene mantenuto lordine secondo un campo di ordinamento i record vengono inseriti secondo lordine DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
23 G. Mecca - - Basi di Dati File Heap DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 6554 RossiMario Ing NeriPaolo Sci VerdiLuisa Sci RossiMaria null3 … …… … PincoPalla Agr BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing2 record blocco intestazione e directory
24 G. Mecca - - Basi di Dati File Ordinato per Matricola DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 6554 RossiMario Ing NeriPaolo Sci VerdiLuisa Sci RossiMaria null3 … …… … PincoPalla Agr BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing2 intestazione
25 G. Mecca - - Basi di Dati Strategia di Memorizzazione m E necessario scegliere dimensione dei blocchi organizzazione dei file per le tabelle m Prestazioni inaccettabili E necessario avere strutture aggiuntive per laccesso ai file Strategia di Accesso DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
26 G. Mecca - - Basi di Dati Strategia di Accesso m Operazioni sul file Aggiornamenti (inserimenti, cancellazioni) Ricerche con condizione (es: annoCor=2) Ricerche in ordine (es: studenti per matricola) m Organizzazione Ideale inserimenti e cancellazioni efficienti ricerca binaria evitare ordinamenti del file DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
27 G. Mecca - - Basi di Dati Operazioni sui File Heap m Inserimenti molto rapidi adatto per es. a tabelle temporanee m Ricerche lineari m Necessario lordinamento creazione di una copia ordinata 1M rec di 100 byte: 15 minuti m Prestazioni inaccettabili per file di grandi dimensioni DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
28 G. Mecca - - Basi di Dati Operazioni sui File Ordinati m Inserimenti onerosi ricerche e spostamenti m Ricerche binarie log 2 (NB) accessi, dove NB = num. di blocchi es: se dim Blocco =2048, dim File =2G NB=1M, log 2 (NB)=20, più ricerca lineare nel blocco m Ordinamento non necessario per la chiave di ordinamento necessario per le altre chiavi DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
29 G. Mecca - - Basi di Dati Strategia di Accesso m Strutture di accesso insieme di strutture ausiliarie di accesso al file utilizzate per migliorare le prestazioni delle operazioni m Indici: file di riferimenti al file primario insieme di voci (chiave, rif.) es: indice analit. più maneggevoli perché di dim. minori DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
30 G. Mecca - - Basi di Dati Indice sulla Matricola DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 6554 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … directory dellindice valore della chiave di ricerca puntatore ad un blocco file di record … 9934 … … puntatori ai blocchi
31 G. Mecca - - Basi di Dati Indice sulla Matricola m Esempio dim Blocco =2048 dim File =2G NB File =1M, log 2 (NB File )=20 numero di record dellindice = 1M dimensione record indice = 4byte + 6 byte dim Indice =10M NB Indice appross. 8192, log 2 (NB Indice )=13 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
32 G. Mecca - - Basi di Dati Tipi di Indici 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 >> Concetti Fondamentali
33 G. Mecca - - Basi di Dati Indice Primario DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 6554 RossiMario Ing NeriPaolo Sci RossiMaria null3 … …… … BirilloGiulio Let QueloPaolo Sci VerdiLuigi Sci MousMichi Agr1 … …… … CaioTizio Ing BustiLina Let2 … … … ….. … … 9934 … …
34 G. Mecca - - Basi di Dati Indice Secondario DBMS Relazionali – Modello Fisico >> Concetti Fondamentali 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 … puntatori ai record valori ripetuti della chiave
35 G. Mecca - - Basi di Dati Indice Secondario m Esempio dim Blocco =2048, dim File =2G, dim Record = 58 NB File =1M, numero di record del file approssimativamente 32M ricerca lineare: 512K accessi in media numero di record dellindice appross. 32M dimensione record indice = 20 byte + 7 byte dim Indice 1G (più o meno la metà del file) NB Indice appr. 512K, log 2 (NB Indice )=19 DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
36 G. Mecca - - Basi di Dati In Sintesi m Il modello fisico è molto importante Impatto notevole sulle prestazioni m 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) DBMS Relazionali – Modello Fisico >> Concetti Fondamentali
37 G. Mecca - - Basi di Dati Concetti Fondamentali m Introduzione m Memorie Gerarchia di memorie Dischi magnetici Blocchi m Modello fisico m Strategia di gestione del disco Paginazione DBMS Relazionali – Modello Fisico >> Sommario
38 G. Mecca - - Basi di Dati Concetti Fondamentali m Strategia di Memorizzazione Record Fattore di blocco Directory del file File heap e file ordinati m Strategia di Accesso Indice primario Indice secondario DBMS Relazionali – Modello Fisico >> Sommario
39 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.