Data Bases Distribuiti
Finalità
Caratteristiche
Struttura
Mario Capurso
http://info.bazarinfo.info
Sistema di Data Base
Distribuito: Definizione 1

E’ una collezione di siti (detti nodi)
collegati in rete in cui
Ogni sito è un sistema di data base
 I siti hanno concordato di cooperare in
maniera che un utente in ciascun sito
possa accedere a qualsiasi
informazione su uno dei siti come se
essa fosse memorizzata sul proprio
sito

Sistema di Data Base
Distribuito: Definizione 2

E’ un database virtuale le cui parti
componenti sono memorizzate
fisicamente in un numero di data
base distinti e reali residenti in un
numero di siti distinti.
Si noti che ogni sito è un vero e proprio sistema di
data base, con un DBMS, informazioni, sistema
di comunicazione ecc…
Omogeneo ed Eterogeneo
Un D-DBMS è omogeneo se ogni sito
usa la stessa versione di DBMS
 Un D-DBMS è eterogeneo se i siti
usano diverse versioni di DBMS

Schema globale e locale

La definizione del modello
complessivo dei dati è detto Schema
globale ed è l’unione delle definizioni
dei modelli dei dati dei vari database
componenti (Schemi locali)
La Visione Utente

L’utente dovrebbe vedere il Sistema
di Data Base Distribuito come se
fosse un Sistema di Data Base non
distribuito
I primi D-DBMS



SDD.1 (Computer Corp. America 1978)
Ingres/Star (1986)
SQL*Star (Oracle) (1986)
Come nasce un D-DB


Top-down (ho DB e devo partizionarlo)
Bottom up (ho DBs in molti siti e devo
integrarli)
Frammentazione di un D-DB

Frammentazione orizzontale (di tuple)
(round-robin, hash, range-based,
predicate-based)

Frammentazione verticale (di domini)
Frammentazione di tabelle

Dove metto i frammenti ?

Obiettivi
Minimizzare i tempi di risposta
 Minimizzare il traffico di rete
 Massimizzare la produzione


Condizioni
Memoria e processing disponibile
 Larghezza di banda disponibile
 Tempi di risposta richiesti

Uso la replicazione ?


La replicazione migliora la disponibilità e le
prestazioni in ricerca
La replicazione complica le operazioni di modifica



Transaction based replication: un sito è proprietario e
altri siti si sottoscrivono. Le modifiche vanno fatte sul
sito primario e propagate agli altri.
Merge replication: un sito è proprietario e altri siti si
sottoscrivono. Le modifiche possono essere fatte sul
qualsiasi sito e vengono propagate a tutti, con una
strategia di risoluzione dei conflitti
Snapshot replication: un sito è proprietario e altri siti si
sottoscrivono. Periodicamente i dati vengono copiati dal
sito proprietario agli altri.
Le Caratteristiche - 1




I siti dovrebbero avere un certo livello di
autonomia (Autonomia Locale)
Il sistema non dovrebbe dipendere da un
sito centrale
L’operatività dovrebbe essere non stop
L’utente non dovrebbe necessariamente
sapere la localizzazione delle informazioni
(Indipendenza dalla localizzazione delle
informazioni)
Le Caratteristiche - 2
Indipendenza dalla frammentazione
delle informazioni: l’utente dovrebbe
operare come se i dati non fossero
frammentati
 Indipendenza dalla replicazione:
l’utente dovrebbe operare come se i
dati non fossero replicati

Distribuzione e Limiti alle
caratteristiche desiderabili



Ci sono dei limiti all’autonomia di un sito
(replicazione e copia primaria, vincoli di
integrità distribuiti, frammenti)
Il logon su siti multipli può avere diverse
soluzioni
Le prestazioni cambiano a seconda del
sito di residenza dei dati
L’architettura di un D-DBMS
DB
Locale
DBMS
Locale
Esecutore
Globale
Nodo
DB
Locale
DBMS
Locale
Esecutore
Globale
Nodo
Utente
Schema Globale e Locale
Un DBMS locale mantiene lo schema
locale
 L’esecutore globale mantiene lo
schema globale, con i siti, la
distribuzione e la replicazione dei
frammenti, le regole di integrità e i
diritti globali

Transazioni distribuite e
two-phase commit protocol





Esiste un sito che coordina la transazione
Fase 1 – Il coordinatore chiede ai siti coinvolti se
sono in grado di commettere la transazione
Ogni sito coinvolto risponde Ok o Must Abort
Il coordinatore decide OK se tutti hanno risposto
OK e Must Abort se almeno uno ha risposto Must
Abort
Fase 2 – Il coordinatore comunica la decisione a
tutti e dopo la risposta di tutti esegue la
decisione anche lui
Scarica

Database Distribuiti