G. Mecca – [email protected] – Università della Basilicata Basi di Dati Sistemi per BD...
-
Upload
erminio-sacchi -
Category
Documents
-
view
214 -
download
0
Transcript of G. Mecca – [email protected] – Università della Basilicata Basi di Dati Sistemi per BD...
G. Mecca – [email protected] – Università della BasilicataG. Mecca – [email protected] – Università della Basilicata
Basi di Dati
Sistemi per BD Relazionali:
Modello FisicoDettagli e Approfondimenti
versione 2.0
Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
2G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dettagli e Approfondimenti
Dischi magneticiFacciaTracciaSettoreId di bloccoTempo di posizionamentoRitardo di rotazioneTempo di trasferimento
DBMS Relazionali – Modello Fisico >> Sommario
3G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dettagli e Approfondimenti
Strategia di Gestione del DiscoRelazione con il Sistema Operativo
Strategia di Memorizzazione nei FileRecord a lunghezza variabile
Strategia di Accesso ai FileOperazioni primitive sui fileTerminologia degli indici
DBMS Relazionali – Modello Fisico >> Sommario
4G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Gerarchia di Memorie
Gerarchia di MemorieRAM, disco, nastrobase di dati su discocopie della base di dati su nastro
Altre memoriecache di primo livelloRAM flashdischi ottici
DBMS Relazionali – Modello Fisico >> Dettagli >> Gerarchia di Memorie
5G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dischi Magnetici
Discosuperficie magnetica e testineblocchiaccesso casualeid di bloccotempo di trasferimento
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
6G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dischi Magnetici
Asse rotante3600 – 7200 rpm
Facciapiatto
Tracciasup. magnetica
Settorearco di traccia
Cilindro tracce di ug. raggio
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
Asse
Cilindro
Testine
Movimento braccia
Braccia
Tracce
Settore
Piatti
7G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dischi Magnetici
Blocco o Paginaspazio multiplo del settore x1 – x16settore tipico: 512 byte
Id di bloccoindirizzo hardwarefaccia, traccia, settoretestina, cilindro, settore
Letture non parallele (>> dischi RAID)
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
8G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dischi Magnetici
Tempitempo di posizionamento (“seek”)
8 – 25 msritardo di rotazione (“latency”)
4 – 6 mstempo di trasferimento (“transfer”)
2 – 10 MB/sec. – <= 0.5 ms per 512 byte Prevale il tempo di posizionamento
“località” dei blocchi
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
9G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Modello Fisico
Problemi legati alla gestione dei dati persistentiGestione del discoMemorizzazione dei dati nei fileOttimizzazione delle operazioni sui file
Modello fisicoStrategia di gestione del discoStrategia di memorizzazione nei fileStrategia di accesso
DBMS Relazionali – Modello Fisico >> Dettagli
10G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Strategia di Gestione del Disco
Strategia di gestione del discogestore del bufferbuffer di blocchi nella RAMhit ratiopaginazione
DBMS Relazionali – Modello Fisico >> Dettagli
11G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Strategia di Gestione del Disco
DBMS Relazionali – Modello Fisico >> Dettagli
Disco Magnetico
...
#101
...
#8292
#8293
...
#16484
#16485
...
#24676
#24677
...
#32868
#32869
...
#41060
...
Buffer Manager
Memoria RAM
blocco del disco #xxx
spazio libero
spazio libero
Area destinata al Buffer
blocco del disco #yyy
blocco del disco #zzz
blocchi da 8 kByte
12G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Strategia di Gestione del Disco
Relazione con il Sistema Operativo“dammi il byte i-esimo del file F”
Problemiindipendenza dalla piattaformadimensioni dei file (> 4GB)file memorizzati su più dischi“prefetching”
DBMS Relazionali – Modello Fisico >> Dettagli >> Gestione del Disco
13G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Strategia di Memorizzazione
Strategia di MemorizzazioneFile: sequenza di blocchiBlocco: sequenza di recordRecord: codifica binaria di una ennuplaFattore di Bloccoid di record: (id di blocco, offset)
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
14G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Record di Lunghezza Fissa
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
integer char(20) char(20) char(10) integer
matricola cognome nome facolta
6554 Rossi Mario Ingegneria
annoCor
1
bit 0 31 32 191 192 351 352 431 432 463
4 byte 20 byte 20 byte 10 byte 4 byte
001…110 11010…010010 0110…0010010 1101…0010 000..001
totale: 58 byte, 464 bit
15G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Record di Lunghezza Variabile
Esistono attributi di lunghezza variabilenullvarchar(n): al più 8*n bit
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
3456 Rossi Maria null 3
???
matricola cognome nome facolta annoCor
16G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Record di Lunghezza Variabile
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
integer varchar(20) varchar(20) char(10) integer
matricola cognome nome facolta
6554 Rossi Mario Ingegneria
annoCor
1
3456 Rossi Maria null 3
tot: 28 +5 byte
1 byte
001…110 11010…010010 0110…0010010 1101…0010 00..001x x x x
1 byte 1 byte 1 byte 1 byte
=
001…110 11010…010010 0110…0010010 00..001x x xx =
tot: 18 +5 byte
17G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Record di Lunghezza Variabile
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
Record di lunghezza fissaspreco di spaziosemplice localizzazione dei record (offset)
Record di lunghezza variabilerisparmio di spaziolocalizzazione complessa dei recordintestazione di blocco con puntatori all’inizio
dei record
18G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Organizzazione dei File
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
File heapinserimenti disordinativantaggio: rapidità di inserimento
File ordinatoinserimenti ordinati rispetto ad un attributopb: complessità degli inserimenti
19G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Struttura di Accesso
Struttura di Accessostrutture ausiliarie per migliorare le prest.
Gestore dei dell’accesso ai filemodulo a livello superiore rispetto al buffer
managergestisce l’organizzazione dei file ed esegue
le operazioni usando i metodi di accesso
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
20G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Operazioni sui File
Creazione e aperturaOPENRESET bl. corrente
Letture e ricercheSCANFIND condizioneREAD blocco correnteFIND NEXT condiz.FIND ORDERED attr.
ModificheINSERT recordDELETE recordMODIFY record
ChiusuraCLOSE
RiorganizzazioneREORGANIZE
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
21G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Strutture di Accesso
Indice primarioindice su campo chiave primariafile ordinato secondo il campouno solo per tabella
Indice secondarioindice su un campo non chiave primariafile non ordinato secondo il campovari per tabella (es: su nome e su facolta)
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
22G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Indice Primario
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
6554 RossiMario Ing 1
8765 Neri Paolo Sci 2
3456 RossiMaria 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
… … … … ..
…
3122
7123
…
9934
…
…
23G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Indice Secondario
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
6554 RossiMario Ing 1
8765 Neri Paolo Sci 2
3456 RossiMaria 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
Rossi
…
Caio
Rossi
…
24G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Terminologia degli Indici
Indice densouna voce per ogni record del file
Indice sparsouna 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)
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
25G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Terminologia degli Indici
Indice di raggruppamentol’indice implica una organizzazione del file
(es: organizzazione ordinata rispetto alla chiave primaria)
Indici non di raggruppamentol’indice non implica una organizzazione del
file (voci vicine nell’indice non necessariamente sono vicine nel file)
Importante per migliorare la località
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
26G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Uso degli Indici
Indice primarioassume organizzazione ordinata del filesingolo attributo, sparso, di raggruppamentouno solo per tabella (creato autom.)
Indice secondarionon 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
27G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Uso degli Indici
Normalmente più indici per tabellaes: 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
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
28G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dettagli e Approfondimenti
Dischi magneticiFacciaTracciaSettoreId di bloccoTempo di posizionamentoRitardo di rotazioneTempo di trasferimento
DBMS Relazionali – Modello Fisico >> Sommario
29G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati
Dettagli e Approfondimenti
Strategia di Gestione del DiscoRelazione con il Sistema Operativo
Strategia di MemorizzazioneRecord a lunghezza variabileInserimenti in file ordinati
Strategia di AccessoOperazioni primitive sui fileIndici sparsi, indici densi
DBMS Relazionali – Modello Fisico >> Sommario
30G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - 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.