Basi di Dati - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Basi di Dati

Description:

Il Problema degli Inserimenti Tutti i livelli sono file ordinati costo degli inserimenti Due possibili soluzioni strutture ordinate statiche ISAM ... (VSAM ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 31
Provided by: GMec7
Category:
Tags: basi | dati | file | vsam

less

Transcript and Presenter's Notes

Title: Basi di Dati


1
Basi di Dati
  • Sistemi per BD RelazionaliModello Fisico
  • Concetti Avanzati

versione 2.0
Questo lavoro è concesso in uso secondo i termini
di una licenza Creative Commons (vedi ultima
pagina)
2
Concetti Avanzati
DBMS Relazionali Modello Fisico gtgt Sommario
  • Obiettivo
  • Indici multilivello
  • Indici e tabelle ISAM
  • B Tree (cenni)
  • Indici Hash
  • File hash
  • Indice hash
  • In Pratica

3
Obiettivo
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Obiettivo
  • Strategia di accesso ideale
  • inserimenti e cancellazioni efficienti (t. cost
    ?)
  • ricerca binaria
  • evitare ordinamenti del file
  • Gli indici rappresentano un passo avanti
  • Problemi
  • la ricerca si può migliorare
  • gli inserimenti nei file ordinati sono un pb.

4
Indici Multilivello
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Indici multiliv.
  • Possono migliorare i tempi di ricerca
  • Intuizione
  • un indice è un file ordinato di record (chiave,
    puntatore)
  • se i valori della chiave sono distinti, posso
    costruire un indice primario per lindice
  • posso proseguire costruendo vari livelli di indice

5
Indici Multilivello
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Indici Multiliv.
NB/bfr blocchi
(NB/bfr)/bfr blocchi
1 blocco
NB blocchi
6
Indici Multilivello
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Indici multiliv.
  • Dinamica logaritmica logbfr(NB) livelli di
    indice
  • ricerca logaritmica con base bfrgt2
  • Esempio
  • dimblocco2048, dimrecord58, dimfile2G
  • NB1M, bfr204 (fattore di blocco dellindice)
  • I livello ceil(1M/204) 5141 (ceil p.te
    intera sup.)
  • II livello ceil (29960/204) 26
  • ricerca in ceil(log204(1M)) 1 accessi 4
  • Attenzione tutti i valori devono essere distinti

7
Indici Secondari Multiliv.
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Indici multiliv.
blocco di puntatori
valori distinti
8
Il Problema degli Inserimenti
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Indici multiliv.
  • Tutti i livelli sono file ordinati
  • costo degli inserimenti
  • Due possibili soluzioni
  • strutture ordinate statiche
  • ISAM
  • strutture ordinate dinamiche
  • B Tree e B Tree

9
Strutture Ordinate Statiche
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt ISAM
  • Strutture multilivello in cui
  • spazio per i blocchi allocato staticamente
  • file ordinato con blocchi contigui
  • inserimenti effettuati ordinatamente finchè ce
    spazio
  • file disordinato di trabocco (overflow)
  • periodiche riorganizzazioni globali con fusione
    del file primario e del file di trabocco
  • ISAM Indexed Sequential Access Method

10
Struttura ISAM
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt ISAM
3333 Stop John Sci 3
Blocchi contiguidel disco
Blocchi di overflow
11
Struttura ISAM
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt ISAM
  • Principali vantaggi
  • allocazione contigua dei blocchi (località)
  • la struttura non viene toccata
  • Svantaggi
  • possono essere necessarie ristrutturazioni
  • Adatta a tabelle con dinamica limitata
  • pochi inserimenti

12
Strutture Ordinate Dinamiche
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
  • Strutture multilivello in cui
  • file ordinato con rappresentazione collegata
  • allocazione dinamica dei blocchi
  • i blocchi sono sempre parzialmente pieni
  • algoritmi di inserimento opportuni
  • riorganizzazioni locali (fusioni e divisioni dei
    blocchi)
  • B Tree, B Tree

13
B Tree
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
  • In sintesi, albero di ricerca di apertura ngt2
  • Nodi
  • al più n-1 val. della chiave ed n punt. a
    sottoal.
  • ltp1, k1, p2, k2, p3, pm-1, km-1, pmgt, mltn,
    k1lt k2 lt lt km-1
  • Sottoalberi
  • i valori del primo sottoalbero sono minori o ug.
    di k1
  • tutti i valori X del sottoalbero i sono compresi
    tra ki-1 e ki (ki-1 lt X lt ki per i da 2 a m-1)
  • i valori dellultimo sottoalbero sono maggiori di
    km-1

14
B Tree
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
1100 QueloPaolo Sci 2

1240 Rossi Mario Ing 1
1240
3121
1241 Birillo Giulio Let 2

3121 Verdi Luigi Sci 3
3122 Neri Paolo Sci 2
4128
3599

7400
7552
3599 Caio Tizio Ing 2
3600 Busti Lina Let 2

4128 Rossi Maria Let 2
Esempio Ricerca di 4400
7800
8900
4129 Mous Michi Agr 1

7400 Pinco Palla Ing 2

15
B Tree
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
  • Vincoli aggiuntivi
  • lalbero deve essere bilanciato
  • loccupazione dei blocchi deve essere almeno il
    50
  • Algoritmi di inserimento e cancellazione
  • rispettare i vincoli
  • fusioni e divisioni (possono coinvolgere vari
    livelli)
  • A regime
  • blocchi pieni per i 2/3 (67 circa)

16
B Tree
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
Radice
30
17
24
13
39
3
5
19
20
24
25
27
38
2
13
14
16
30
33
34
17
inserimento del valore 4
Nuova Radice
17
24
30
13
4
39
2
3
19
20
24
25
27
38
13
5
4
30
33
34
14
16
17
B Tree in Pratica
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
  • Ordine tipico 200
  • numero medio di puntatori 133 (molto alto)
  • Capacità di Indicizzazione
  • profondità 4 1334 312.900.700 blocchi
  • profondità 3 1333 2.352.637 blocchi
  • I livelli più alti possono essere tenuti nel
    buffer
  • Livello 1 1 blocco al più 8 Kbyte
  • Livello 2 133 blocchi al più 1 Mbyte
  • Livello 3 17.689 blocchi al più 133 MBytes

18
B Tree
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt B Tree
  • Vantaggi
  • inserimenti logaritmici meno costosi che in un
    file ordinato
  • ricerche rapide
  • accesso ordinato secondo la chiave di ordinamento
  • è possibile aggiungere indici secondari
  • In generale
  • ha prestazioni migliori della struttura ISAM
  • è utilizzata dalla maggior parte dei DBMS (VSAM)

19
Hashing
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
  • E possibile ottenere
  • tempo di inserimento costante ?
  • tempo di ricerca costante ?es matricola1234 in
    tempo costante
  • Hashing
  • ricerche in tempo lineare nella lunghezza della
    chiave
  • File Hash
  • Indice Hash

20
File Hash
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
  • Idea
  • è possibile utilizzare una funzione di hash per
    inserire i record nel file
  • e poterli recuperarli in tempo praticamente
    costante successivamente
  • organizzazione alternativa ai file heap e ai file
    ordinati
  • Hashing statico (simile a ISAM)
  • Hashing dinamico (simile a B Tree)

21
File Hash
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
puntatori ad N blocchi
es (akb) mod N
22
File Hash
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
  • Organizzazione alternativa a file heap e file
    ordinati
  • File hash statici
  • Numero di bucket N
  • N Blocchi iniziali per il file allocati
    staticamente
  • Blocchi di overflow

23
File Hash Statico
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
3122 QueloPaolo Sci 2
4775 Mous Michi Agr 1
9876 Rossi Maria null 3
..
0
h(k)
5442 Rossi Mario Ing 1
1
2
Valore della chiave k
3
2112 Birillo Giulio Let 2
h
7771 Verdi Luigi Sci 3
3425 Neri Paolo Sci 2
..
N-1
6779 Caio Tizio Ing 2
Puntatori agli N blocchi tipicamente in RAM

1234 Busti Lina Let 2
..
24
File Hash Dinamico (Cenni)
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
  • Il numero di blocco può crescere dinamicamente
  • N Blocchi iniziali per il file
  • Quando un blocco si riempie, il numero di blocchi
    viene raddoppiato
  • Servono funzioni di hash appropriate

25
Indice Hash
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
  • Indice per un file primario
  • File primario tipicamente heap
  • Indice memorizzato con organizzazione hash su una
    chiave di ricerca
  • Vantaggi
  • inserimenti e ricerche molto efficienti
  • utile per correlazioni tra tabelle diversees
    nome degli studenti che hanno sostenuto lesame
    di analisi

26
Indice Hash
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt Hashing
27
In Pratica
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt In pratica
  • File ordinati Indici Multilivello
  • ricerche logaritmiche(con base molto alta)
  • ordinamento
  • inserimenti logaritmici (con ristrutturazioni nel
    caso di B tree)
  • File heap Indici Hash
  • inserimenti efficienti
  • ricerche efficienti
  • non supporta lordinamento

In sintesi non esiste lorganizzazione ideale
28
In Pratica
DBMS Relazionali Modello Fisico gtgt Concetti
Avanzati gtgt In pratica
  • MySQL
  • tabelle ISAM, MyISAM, Heap ( InnoDB, BDB)
  • indici B Tree, Hash
  • PostgreSQL
  • tabelle in file ordinati
  • indici B Tree, Hash ( R Tree)
  • operatore CLUSTER

29
Concetti Avanzati
DBMS Relazionali Modello Fisico gtgt Sommario
  • Obiettivo
  • Indici Multilivello
  • Indici e tabelle ISAM
  • B Tree
  • Indici Hash
  • File hash
  • Indice hash
  • In Pratica

30
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/lic
    enses/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//creativecommo
    ns.org/licenses/by-sa/1.0/ oppure inviare una
    lettera allindirizzo Creative Commons, 559
    Nathan Abbott Way, Stanford, California 94305,
    USA.
Write a Comment
User Comments (0)
About PowerShow.com