G. Mecca – [email protected] – Università della Basilicata Basi di Dati Sistemi per BD...

30
G. Mecca – [email protected] – Università della G. Mecca – [email protected] – Università della Basilicata 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)

Transcript of G. Mecca – [email protected] – Università della Basilicata Basi di Dati Sistemi per BD...

Page 1: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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)

Page 2: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 3: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 4: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 5: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 6: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 7: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 8: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 9: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 10: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 11: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 12: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 13: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 14: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 15: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 16: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 17: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 18: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 19: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 20: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 21: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 22: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 23: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 24: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 25: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 26: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 27: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 28: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 29: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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

Page 30: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.

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.