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 – [email protected] – 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 - [email protected] - Basi di Dati
2
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 - [email protected] - Basi di Dati
3
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 - [email protected] - Basi di Dati
4
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 - [email protected] - Basi di Dati
5
DBMS Relazionali – Modello Fisico >> Dettagli >> Dischi Magnetici
Dischi Magnetici
Asse

Testine
Asse rotante
Tracce
 3600 – 7200 rpm

Settore
Faccia
 piatto

Piatti
Traccia
Cilindro
 sup. magnetica

Settore
Movimento braccia
 arco di traccia

Cilindro
Braccia
 tracce di ug. raggio
G. Mecca - [email protected] - Basi di Dati
6
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 - [email protected] - Basi di Dati
7
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 - [email protected] - Basi di Dati
8
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 - [email protected] - Basi di Dati
9
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 - [email protected] - Basi di Dati
10
DBMS Relazionali – Modello Fisico >> Dettagli
Strategia di Gestione del Disco
Memoria RAM
Area destinata al Buffer
...
#101
...
blocco del disco #xxx
#8292
#8293
...
spazio libero
#16484
#16485
...
blocco del disco #yyy
#24676
Buffer Manager
blocchi da
8 kByte
#24677
...
blocco del disco #zzz
Disco Magnetico
#32868
#32869
...
spazio libero
#41060
...
G. Mecca - [email protected] - Basi di Dati
11
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 - [email protected] - Basi di Dati
12
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 - [email protected] - Basi di Dati
13
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
Record di Lunghezza Fissa
integer
char(20)
matricola cognome
6554
Rossi
001…110
11010…010010
31 32
bit 0
4 byte
char(20)
nome
Mario
char(10)
facolta
annoCor
Ingegneria
1
0110…0010010
191 192
20 byte
integer
1101…0010
351 352
20 byte
000..001
431 432
10 byte
463
4 byte
totale: 58 byte, 464 bit
G. Mecca - [email protected] - Basi di Dati
14
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
Record di Lunghezza Variabile
 Esistono
attributi di lunghezza variabile
null
varchar(n): al più 8*n bit
matricola cognome
3456
Rossi
nome
Maria
facolta
null
annoCor
3
???
G. Mecca - [email protected] - Basi di Dati
15
DBMS Relazionali – Modello Fisico >> Dettagli >> Memorizzazione
Record di Lunghezza Variabile
integer
varchar(20) varchar(20) char(10)
matricola cognome
6554
Rossi
nome
Mario
integer
facolta
annoCor
Ingegneria
1
001…110 x 11010…010010 x 0110…0010010 x 1101…0010 x 00..001 =
1 byte
1 byte
1 byte
1 byte
1 byte
tot: 28 +5 byte
3456
Rossi
Maria
null
3
001…110 x 11010…010010 x 0110…0010010 xx 00..001 =
tot: 18 +5 byte
G. Mecca - [email protected] - Basi di Dati
16
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 - [email protected] - Basi di Dati
17
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 - [email protected] - Basi di Dati
18
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 - [email protected] - Basi di Dati
19
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
Operazioni sui File

Creazione e apertura

OPEN
RESET bl. corrente

INSERT record
DELETE record
MODIFY record
Letture e ricerche
SCAN
FIND condizione
READ blocco corrente
FIND NEXT condiz.
FIND ORDERED attr.
G. Mecca - [email protected] - Basi di Dati
Modifiche

Chiusura
CLOSE

Riorganizzazione
REORGANIZE
20
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 - [email protected] - Basi di Dati
21
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
Indice Primario
3122 QueloPaolo Sci 2
3453 Mous Michi Agr 1
3456 Rossi Maria null 3
…
3122
…
…
…
..
6554 Rossi Mario Ing 1
7123
…
7123 Birillo Giulio Let 2
…
7771 Verdi Luigi Sci 3
8765 Neri Paolo Sci 2
…
…
9934
9876 Caio Tizio Ing
…
…
…
..
2
…
G. Mecca - [email protected] - Basi di Dati
9934 Busti Lina Let
2
…
..
…
…
…
22
DBMS Relazionali – Modello Fisico >> Dettagli >> Accesso
Indice Secondario
3122 QueloPaolo Sci 2
3453 Mous Michi Agr 1
3456 Rossi Maria null 3
Birillo
…
…
…
…
Busti
6554 Rossi Mario Ing 1
..
Caio
…
7123 Birillo Giulio Let 2
…
7771 Verdi Luigi Sci 3
8765 Neri Paolo Sci 2
…
Rossi
…
…
…
…
9876 Caio Tizio Ing
..
2
Rossi
…
Verdi
G. Mecca - [email protected] - Basi di Dati
9934 Busti Lina Let
2
…
..
…
…
…
23
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 - [email protected] - Basi di Dati
24
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 - [email protected] - Basi di Dati
25
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 - [email protected] - Basi di Dati
26
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 - [email protected] - Basi di Dati
27
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 - [email protected] - Basi di Dati
28
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 - [email protected] - Basi di Dati
29
Termini della Licenza
Termini della Licenza

This work is licensed under the Creative Commons AttributionShareAlike 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 - [email protected] - Basi di Dati
30
Scarica

dettagli e approfondimenti () - Corso di Laurea in Informatica