Tecnologia delle basi di dati: Strutture fisiche di accesso - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Tecnologia delle basi di dati: Strutture fisiche di accesso

Description:

Title: PowerPoint Presentation Last modified by: DIPARTIMENTO DI ELETTRONICA ED ELETTROTECNICA Created Date: 1/1/1601 12:00:00 AM Document presentation format – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 26
Provided by: wwwictser
Category:

less

Transcript and Presenter's Notes

Title: Tecnologia delle basi di dati: Strutture fisiche di accesso


1
Tecnologia delle basi di dati Strutture fisiche
di accesso
  • Esercitazioni del Corso di Sistemi Informativi
  • Marina Mongiello
  • mongiello_at_poliba.it

2
Organizzazione fisica e metodi daccesso
  • Organizzazione dei file
  • Indica lorganizzazione dei dati in un file di
    record in blocchi e strutture daccesso
  • Specifica in che modo i record ed i blocchi sono
    disposti sul dispositivo di memorizzazione e
    collegati
  • Metodi daccesso
  • Un insieme di programmi che specifica in che modo
    le operazioni possono essere eseguite su un file
  • Generalmente alcuni metodi daccesso possono
    essere applicati soltanto su file aventi una
    particolare organizzazione fisica

3
Strutture fisiche di accesso
  • Descrivono lorganizzazione fisica dei dati di
    una base dati nella memoria di massa
  • Obiettivi
  • Garantire operazioni di ricerca e di modifica
    efficienti da parte dei programmi applicativi

4
Organizzazioni fisiche primarie
  • Strutture sequenziali entry-sequenced, ad array,
    sequenziale ordinato
  • Strutture con accesso calcolato (uso di funzioni
    hash)
  • Strutture ad albero B-tree, B-tree

5
Metodi di accesso
  • Sono opportuni moduli software che contengono
    primitive per laccesso e la manipolazione dei
    dati specifici di ciascuna organizzazione fisica
  • Conosce lorganizzazione fisica delle tuple nelle
    pagine

6
Architettura del gestore degli accesi
7
Strutture sequenziali
  • Disposizione sequenziale delle tuple in memoria
    di massa
  • E costituito da blocchi consecutivi di memoria.
  • Le tuple possono essere inserite nei blocchi in
    sequenza
  • Entry-sequenced sequenza indotta dallordine di
    immissione
  • Ad array la posizione delle tuple dipende dal
    valore assunto da un campo indice
  • Sequenziale ordinatala sequenza dipende dal
    valore di un campo detto chiave

8
Gestione delle tuple nelle pagine (esempio per
metodi di accesso sequenziali e calcolati)
9
Strutture sequenziali entry-sequenced (1)
sequenza delle tuple indotta dal loro ordine di
immissione
  • Si rivela una strategia ottimale per operazioni
    di lettura e scrittura sequenziali.
  • Il modo tipico di accesso ai dati è tramite una
    funzione di scansione sequenziale.
  • Questa organizzazione utilizza tutti i blocchi
    allinterno del file e tutti gli spazi
    allinterno dei blocchi.
  • Laccesso al file sia in inserimento che in
    lettura avviene dalla fine.

10
Strutture sequenziali entry-sequenced (2)
  • La modifica di tuple di dimensione variabile e la
    cancellazione risulta problematica.
  • La cancellazione spesso si riduce ad una
    invalidazione dellinformazione con spreco di
    spazio

11
Strutture sequenziali ad array (1) la
posizione delle tuple dipende dal valore assunto
da un campo indice
  • È possibile solo per tuple di dimensione fissa
  • Al file viene associato un numero n di blocchi
    contigui e ciascun blocco viene diviso in m slot
    utilizzabili per le tuple (array n x m slot)
  • Ciascuna tupla è dotata di un valore numerico i
    che funge da indice dellarray

12
Strutture sequenziali ad array (2)
  • Le cancellazioni creano degli slot liberi
  • Gli inserimenti devono essere fatti negli slot
    liberi o al termine del file
  • Le funzioni primitive garantite da una tale
    struttura sono read-ind insert-at insert-near
    insert-at-end update-ind delete-ind

13
Strutture sequenziali ordinate (1)la sequenza
dipende dal valore di un campo detto chiave(non
è più usata)
  • Lordinamento delle tuple riflette quello
    lessicografico dei valori presenti nel campo
    chiave.
  • Sono avvantaggiate le transazioni che richiedono
    un accesso ordinato alle tuple in base alla
    chiave.
  • Per trovare la tupla che contiene un valore
    specifico si può ricorrere alla ricerca
    dicotomica.

14
Strutture sequenziali ordinate (2)
  • Problema inserire nuove tuple (riordino delle
    tuple già presenti in memoria di massa)
  • Possibili soluzioni
  • prevedere a priori un certo numero di slot
    liberi mantenendo la struttura sequenziale con
    riordino locale
  • integrare il file sequenziale con un file di
    overflow

15
Strutture con accesso calcolato (1)
  • Come per la struttura sequenziale ordinata, cè
    un accesso associativo ai dati
  • - la locazione fisica dei dati dipende dal
    valore del campo chiave
  • Per il file vengono allocati un numero B di
    blocchi (generalmente) contigui.
  • Il gestore di questo metodo di accesso dispone di
    un algoritmo di hash che restituisce un valore
    compreso tra 0 e B-1.

16
Strutture con accesso calcolato (2)
  • Funziona bene se viene previsto un basso
    coefficiente di riempimento (file
    sovradimensionato)
  • Bisogna gestire il problema delle collisioni
  • Lhashing è efficiente per accedere ai dati in
    base a predicati di uguaglianza
  • Risulta inefficace per interrogazioni che
    richiedono laccesso ad intervalli di valori

17
Strutture ad Albero (1)
  • Nei database relazionali le strutture più
    frequentemente utilizzate sono il B-Tree ed il
    B-Tree
  • Ogni nodo coincide con una pagina o blocco a
    livello di file system.
  • I legami tra i nodi vengono stabiliti da
    puntatori che collegano fra loro le pagine
  • Gli alberi dovrebbero essere sempre bilanciati
    (Balanced-Tree) per avere tempi di accesso
    pressoché costanti.

18
Strutture ad Albero (2)
  • Lefficienze di un albero B o B è normalmente
    elevata perché spesso le pagine che memorizzano i
    primi livelli dellalbero risiedono nel buffer
  • Una ottimizzazione dello spazio occupato avviene
    tramite la compressione dei valori chiave
  • Vengono mantenuti solo i prefissi nei livelli
    alti dellalbero e solo i suffissi, a pari
    prefisso, nei livelli bassi dellalbero, ove si
    svolge la parte finale della ricerca.

19
Strutture ad albero B-Tree (1)
Sotto-albero con chiavi KgtKq
Sotto-albero con chiavi Ki-1KltKi
Sotto-albero con chiavi KltK1
20
Strutture ad albero (2)key-sequenced
tKi-1
tK1
tKq
tKi
I nodi foglia contengono lintera tupla. È
generalmente utilizzata per realizzare lindice
primario (unique in una tabella)
21
Strutture ad albero (3)indiretta
I nodi foglia contengono puntatori ai blocchi
della base di dati nei quali sono presenti tuple
con il valore di chiave specificato. Il
posizionamento delle tuple nel file può essere
qualsiasi. È possibile utilizzare un qualsiasi
dei metodi visti in precedenza.
22
Strutture ad albero (4)Inserimento
Linserimento di un nuovo valore avviene tramite
il semplice aggiornamento del nodo foglia, se è
ancora presente dello spazio nella pagina. Se lo
spazio è finito, si ricorre ad unoperazione di
split e successivo aggiornamento sia del nodo
foglia che del nodo .
Inserimento di K3 e split del livello foglia
23
Strutture ad albero (5)Inserimento,
cancellazione e modifica
  • Lo split può essere necessario anche ai livelli
    superiori e propagarsi fino al nodo radice.
  • Loperazione cancellazione avviene in maniera
    duale a quella di inserimento tramite, se
    necessario, il merge di due nodi foglia.
  • La modifica viene vista come una cancellazione
    seguita da un inserimento e si fa ricadere nei
    due casi precedenti.

24
B-Tree
I nodi foglia sono legati da una catena che li
connette in base allordine imposto dalla chiave.
Questa struttura dati consente anche una
scansione ordinata in base ai valori di chiave
dellintero file.
25
B-Tree (ottimizzazione)
K6
K1
K10
K5
K3
K2
K4
K8
K7
K9
tk7
tk4
tk5
tk6
tk10
tk1
tk8
tk9
tk2
tk3
Per arrivare a leggere il valore di una tupla,
non è necessario arrivare fino in fondo
allalbero.
Write a Comment
User Comments (0)
About PowerShow.com