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