La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.

Presentazioni simili


Presentazione sul tema: "DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo."— Transcript della presentazione:

1 DDBMS Distributed database system

2 DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo ma che sono memorizzati su diversi siti collegati in rete (LAN, WAN o combinazione dei due tipi)

3 DDBMS Il termine DDBMS viene usato per indicare una varietà di sistemi che hanno in comune la distribuzione di dati e applicazioni su più siti collegati in rete

4 DDBMS vantaggi Esistono applicazioni che sono naturalmente distribuite (utenti locali e utenti globali) Aumento dell’affidabilità (probabilità che il sistema sia funzionante in un certo istante) e della disponibilità (probabilità che il sistema sia funzionante con continuità in un certo intervallo di tempo) del sistema

5 DDBMS vantaggi Aumento dell’efficienza molte applicazioni accedono a dati locali (quindi a BD “piccole”) su ciascun sito ci sono meno applicazioni da processare (rispetto ad un DBMS centralizzato) più applicazioni possono essere processate in parallelo

6 DDBMS Sistemi complessi Funzioni aggiuntive rispetto ad un DBMS centralizzato Trasmissione di transazioni e dati tra i vari siti attraverso la rete di comunicazione Mantenimento delle informazioni sulla distribuzione e replicazione dei dati Strategie per l’ottimizzazione di transazioni che richiedono l’accesso a dati che si trovano su più siti (es.: decidere a quale copia di un dato replicato accedere) Mantenimento della consistenza di dati replicati Gestione della concorrenza

7 DDBMS componenti Il processore dei dati (PD) Responsabile della gestione dei dati locali (simile ad un DBMS centralizzato) Il processore delle applicazioni (PA ) Responsabile delle funzioni di distribuzione (gestione dell’informazione sulla distribuzione dei dati, processamento delle richieste che comportano l’accesso a più siti, mantenimento della consistenza dei dati replicati, controllo della concorrenza) Il software di comunicazione Fornisce le primitive per la trasmissione di comandi e dati tra i siti

8 DDBMS criteri di classificazione Grado di omogeneità Se in tutti i siti il PD e il PA usano lo stesso software allora il sistema è detto omogeneo altrimenti è detto eterogeneo Grado di autonomia tutti gli accessi alla BD avvengono attraverso il PA e quindi il sistema appare all’utente come un DBMS centralizzato (nessuna autonomia) in qualche sito l’accesso ai dati locali avviene attraverso il PD (il sito è autonomo) tutti i siti sono autonomi (DDBMS federato)

9 DDBMS criteri di classificazione Grado di trasparenza Trasparenza di frammentazione Trasparenza di allocazione Trasparenza di linguaggio Nessuna trasparenza

10 Trasparenza Un importante compito del processore delle applicazioni è quello di nascondere all’utente i dettagli della distribuzione dei dati

11 Trasparenza (continua) Un DDBMS per fornire la trasparenza della distribuzione dovrebbe: Gestire l’informazione sulla distribuzione (catalogo dei dati) Suddividere le transazioni in sottotransazioni che possono essere eseguite su siti diversi Pianificare la trasmissione dei dati da un sito ad un altro per ulteriore processamento

12 Gradi di trasparenza R…… …… R1…… …… R2…… ……  C1 (R)  C2 (R) Memorizzata sul sito 1 Replicata sui siti 1 e 2

13 Gradi di trasparenza (continua) Trasparenza di frammentazione L’utente formula la query su R ignorando il fatto che R è frammentata Trasparenza di allocazione L’utente formula la query su R1 ed R2 (conosce i frammenti) ignorando il fatto che R2 è replicata

14 Gradi di trasparenza (continua) Trasparenza di linguaggio L’utente formula la query sapendo che R è frammentata in R1 ed R2 (conosce i frammenti) e che R2 è replicata (conosce l’allocazione) ma esprime la query utilizzando un unico linguaggio Nessuna trasparenza L’utente formula la query conoscendo non solo la frammentazione e l’allocazione ma anche il linguaggio di interrogazione di ciascun sito (caso DDBMS eterogenei)

15 Frammentazione Frammentazione orizzontale:  C (R) completa se R è ricostruibile mediante  disgiunta se due frammenti non hanno tuple in comune Frammentazione verticale:  A1 A2 …Ak (R) completa se R è ricostruibile mediante  disgiunta se due frammenti hanno in comune solo gli attributi della chiave primaria di R Frammentazione mista

16 Schema di frammentazione: definizione dei frammenti Schema di allocazione: descrizione della allocazione dei frammenti nei siti Un frammento allocato in più di un sito è replicato

17 Replicazione Replicazione completa (la BD è replicata su ogni sito) Il sistema continua a funzionare anche se c’è un solo sito funzionante Ogni interrogazione può essere fatta localmente Aggiornamenti più costosi per la necessità di mantenere la consistenza dei dati replicati Nessuna replicazione (frammenti disgiunti e non replicati) Replicazione parziale (frammenti non necessariamente disgiunti che possono essere replicati)

18 Progetto di un DDB Come frammentare Quali frammenti replicare e dove allocarli

19 Progetto di un DDB (esempio: dati) IMPIEGATO (I#, COGNOME,CF,SALARIO,R#) PROGETTO (P#, NOME,R#) REPARTO (R#, NOME,CAPO_REP) LAVORA_IN (I#,P#,NUM_ORE) Nota: un impiegato può lavorare in un progetto gestito da un reparto diverso da quello in cui lavora

20 Progetto di un DDB (esempio: requisiti) 3 REPARTI (direzione, 1 e 2) 1 SITO PER REPARTO La direzione ha bisogno di accedere a tutti i dati Nel reparto 1 (analogamente per il reparto 2) si vuole accedere a: -I dati dei reparti -I dati dei progetti gestiti dal reparto 1 -COGNOME, CF e SALARIO di impiegati che lavorano nel reparto 1 o in progetti gestiti dal reparto 1

21 Progetto di un DDB (esempio) Nel sito della direzione: tutte le relazioni Nel sito 1 (analogamente per il sito 2): -REPARTO -  R#=1 (PROGETTO) -  COGNOME CF SALARIO  R#=1 (IMPIEGATO))   COGNOME CF SALARIO (IMPIEGATO  (LAVORA_IN   R#=1 (REPARTO)))


Scaricare ppt "DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo."

Presentazioni simili


Annunci Google