1 Basi di Dati – Complementi 2006 2007 3.1. Sistemi di Basi di dati

Fonti di riferimento
Basi di Dati – Complementi 2006
2007
3.1. Sistemi di Basi di dati
distribuite, eterogenee, autonome
– generalita’
yQueste trasparenze parte 3
yBasi di Dati (Atzeni, Paraboschi, Torlone, )
yTamer-Ozsu, P. Valduriez, Principles of
Distributed Database Systems, 1999 Prentice
Hall
Basi di Dati distribuite – @ Carlo Batini 2006
Finora ….
Architettura di un DBMS centralizzato
Posti di lavoro
yFinora abbiamo trattato problematiche
riguardanti i Sistemi di Gestione di basi di dati
centralizzati
yCioe’ caratterizzati da una architettura come
nella prossima trasparenza ….
Amministratore della
Base dati
Applicazioni
Elaboratore
Interrogazioni,
Aggiornamenti, transazioni
Comandi
Data Description Language
DBMS
Basi di
dati
Basi di Dati distribuite – @ Carlo Batini 2006
L’ architettura dati di un DBMS
centralizzato e’ stata definita dall’ente
ANSI/SPARC ed e’
a tre livelli
Schema esterno
Schema esterno
Schema esterno
Schema logico
(o concettuale)
Schema fisico
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Le caratteristiche
di un DBMS centralizzato sono … 1
yUnico schema logico, quindi unica semantica
(almeno apparentemente, in realta’ spesso
accade che si diano diversi significati agli stessi
termini, ma cosa vuoi dire con “elegante”?)
yUnica base di dati, quindi unico insieme di
record interrogati e aggiornati da tutti gli
utenti
yÆ nessuna forma di eterogeneita’ concettuale
yUnico schema fisico, quindi unica
rappresentazione fisica dei dati
yÆ nessuna distribuzione e nessuna
eterogeneita’ fisica
Basi di Dati distribuite – @ Carlo Batini 2006
1
Le caratteristiche
di un DBMS centralizzato sono … 2
yUnico linguaggio di interrogazione, quindi
unica modalita’ di accesso e selezione dei
dati di interesse
yUnico sistema di gestione, quindi unica
modalita’ di accesso, aggiornamento e
gestione per le transazioni e
yUnica modalita’ di ripristino a fronte di
guasti
yUnico amministratotore dei dati
yÆ nessuna autonomia gestionale
Architettura di un sistema DB
distribuito
Posti di
lavoro
Basi dati
locali
Applicazioni
Applicazioni
Basi dati
locali
Nodo elaborativo
Nodo elaborativo
Applicazioni
Basi dati
locali
Nodo elaborativo
Basi di Dati distribuite – @ Carlo Batini 2006
Piano di lavoro per la parte sistemi di Basi di Dati
Distribuiti Eterogenei Autonomi
1 Generalita’ sui sistemi di BD Distribuiti
Eterogenei Autonomi (DEA) Parte 1
1.1 Esempio introduttivo
1.2 Classificazione dei sistemi di BD DEA
y1.3.1 Criteri di classificazione
y1.3.2 Tipologie di sistemi di BD
distribuite
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Piano di lavoro per la parte sistemi di Basi di Dati
Distribuiti Eterogenei Autonomi
2. I DBMS distribuiti (DDBMS) Parte 2
2.1 Proprieta’ e caratteristiche strutturali dei
sistemi DDBMS
2.1.1 Trasparenza
2.1.2 Allocazione dei dati
y2.2. Query processing e ottimizzazione
interrogazioni nei DDBMS
y2.3. Controllo di concorrenza e gestione del
recovery nei DDBMS
Basi di Dati distribuite – @ Carlo Batini 2006
Piano di lavoro per la parte sistemi di Basi di Dati
Distribuiti Eterogenei Autonomi
3. Parallelismo e Basi di dati Replicate,
3.1. Parallelismo
3.2 Basi di dati Replicate
4. I Data Warehouse
Basi di Dati distribuite – @ Carlo Batini 2006
1. Generalita’ sui sistemi di BD
DEA
Basi di Dati distribuite – @ Carlo Batini 2006
2
Primo esempio:
base dati distribuita
Passaggio, in una singola
organizzazione, da base dati
centralizzata a distribuita
Due esempi introduttivi, di:
1. Base dati Distribuita e
2. Multidatabase
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Struttura della organizzazione
Base Dati centralizzata
Nodo 1
Roma
Azienda di progettazione e vendita
Sede di Roma
Sede di Milano
Rete
AP
Sede di Padova
Unica base di dati,
localizzata a Milano
acceduta da tutti i nodi con
transazioni centralizzate
Nodo 2
Milano
AP
AP
Application processing
DP
Data processing
DP
Basi di Dati distribuite – @ Carlo Batini 2006
Da base dati centralizzata a base dati distribuita
Puo’ essere utile per esigenze di efficienza o affidabilita’
spostare o duplicare alcuni dati presso altri nodi ….
Nodo 1
Roma
Rete
AP
AP
AP
-Dati su:
-Personale
-Progettisti
-Vendite
- Dipartimenti
- Progetti
- Contratti
- Vendite
Basi di Dati distribuite – @ Carlo Batini 2006
Da base dati centralizzata a base dati distribuita
…. frammentando la base di dati in frammenti, scelti ad
es. sulla base degli accessi dai vari nodi
Nodo 3
Padova
Nodo 1
Roma
AP
AP
Nodo 2
Milano
Nodo 3
Padova
Rete
Nodo 3
Padova
AP
Nodo 2
Milano
DP
AP
Basi di Dati distribuite – @ Carlo Batini 2006
DP
Basi di Dati distribuite – @ Carlo Batini 2006
3
Da base dati centralizzata a base dati
distribuita
E spostando i frammenti nei vari nodi …
Nodo 1
Roma
Rete
AP
Da base dati centralizzata a base dati
distribuita
E spostando i frammenti nei vari nodi …
Nodo 3
Padova
Nodo 1
Roma
AP
AP
Nodo 2
Milano
Nodo 3
Padova
Rete
AP
Nodo 2
Milano
DP
AP
DP
AP
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Base dati distribuita con DBMS distribuito
Base dati distribuita con DBMS distribuito
dati duplicati
Rete
Rete
AP
AP
AP
DP
AP
DP
DP
Nodo 3
Padova
DP
Nodo 3
Padova
Nodo 1
Roma
- Progettisti Roma
- Dipartimenti Roma
- Progetti Roma
- Contratti Roma
- Progettisti Milano + Roma
- Personale vendite
- Dati di vendita
- Dipartimenti Milano
- Progetti Milano
- Contratti Milano
AP
AP
Application processing
DP
Data processing
Nodo 1
Roma
- Contratti Padova
- Dipendenti Padova
DP
Nodo 2
Milano
Basi di Dati distribuite – @ Carlo Batini 2006
- Progettisti Roma
- Dipartimenti Roma
- Progetti Roma
- Contratti Roma
- Contratti Padova
- Dipendenti Padova
AP
AP
Application processing
DP
Data processing
DP
Nodo 2
Milano
- Progettisti Milano + Roma
- Personale vendite
- Dati di vendita
- Dipartimenti Milano
- Progetti Milano
- Contratti Milano
Basi di Dati distribuite – @ Carlo Batini 2006
Percio’
yDistribuzione dei dati su tre nodi
yParziale ridondanza dei dati
– Progettisti Roma
yNessuna eterogeneita’ concettuale
yNessuna autonomia di gestione (amministratore
dati unico)
yPossibile eterogeneita’ fisica: ad es. se i
progettisti Roma sono, come immaginabile,
acceduti frequentemente in interrogazione a
Roma, si possono aggiungere indici nella BD di
Roma, mentre quella di Milano puo’ essere senza
indici
Basi di Dati distribuite – @ Carlo Batini 2006
Secondo esempio: multidatabase
Il progetto “Servizi alle imprese”
della PA italiana
Basi di Dati distribuite – @ Carlo Batini 2006
4
Attuale modalita’ di interazione
Interazioni tra
amministrazioni pubbliche e imprese
y Le imprese, in Italia circa 5.000.000, come in molti altri
paesi devono interagire con molte amministrazioni per
iscrizioni, variazioni, pagamento contributi,
autorizzazioni, ecc.
y In particolare, in Italia, con:
y INPS per iscrizione, pagamenti contributi assicurativi
y INAIL per iscrizione, assicurazioni e pratiche relative a
incidenti sul lavoro
y CAMERE DI COMMERCIO per iscrizione e altre
procedure.
Inps
Variazione
di indirizzo
Inail
Variazione
di indirizzo
Basi di Dati distribuite – @ Carlo Batini 2006
Con questa modalita’ i dati sono spesso
eterogenei
CamereC
Variazione
di indirizzo
Basi di Dati distribuite – @ Carlo Batini 2006
Id
I dati sono eterogenei
Nome
Tipo di attivita’
Citta’
Indirizzo
La stessa impresa rappresentata nelle tre basi di dati di
CC Camere di commercio
INPS
INAIL
Basi di Dati distribuite – @ Carlo Batini 2006
Scopo del progetto: sostituire le notifiche di
creazione e variazione che le imprese devono fare
a Inps, Inail, Camere di commercio ……
Inps
Variazione
di indirizzo
Inail
Variazione
di indirizzo
CamereC
Variazione
di indirizzo
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
….attraverso un sistema condiviso ..
Inps
Camere C.
Inail
Architettura di
cooperazione
Basi di Dati distribuite – @ Carlo Batini 2006
5
… con una unica comunicazione
… con una unica comunicazione
amm.ne 1
amm.ne 1
Variazione
di indirizzo
amm.ne 2
amm.ne 3
Variazione
di indirizzo
amm.ne 2
Variazione
di indirizzo
Variazione
di indirizzo
Basi di Dati distribuite – @ Carlo Batini 2006
Gli aggiornamenti agli altri sistemi vengono fatti attraverso modalita’
asincrone e utilizzando uno schema comune (archivio indici)
Basi di Dati distribuite – @ Carlo Batini 2006
Schemi concettuali di partenza (semplificati)
Agente
economico
amm.ne 1
Anagrafe
Dati previ
denziali
Anagrafe
amm.ne 2
interna
amm.ne 3
Indica una relazione
Schema Inps
interna
Impresa
Agente
economico
Servizio
applicativo
Servizio
applicativo
Archivio
indici
Dati assi
curativi
Impresa
Struttura
Architettura di
cooperazione
Impresa
Schema Camere di
Commercio
Anagrafica
Rete di trasporto
Basi di Dati distribuite – @ Carlo Batini 2006
Schema concettuale dell’archivio indici
(schema concettuale condiviso)
Codice Inps
Archivio
indici
Schema Inail
Variazione
Impresa
Codice Inail
Partita IVA
Basi di Dati distribuite – @ Carlo Batini 2006
Scopi del progetto e decisioni “politiche” degli enti
y I tre enti hanno accettato di mettere in comune e condividere gli
aggiornamenti su creazione e variazione di impresa
y Hanno pero’ voluto mantenere assoluta autonomia su tutti gli altri
aspetti:
– Schemi fisici
– Modalita’ accesso
– Gestione transazioni, che rimangono locali
– Autorizzazioni e sicurezza
– Recovery
y Il nuovo sistema ha dunque
– Alta autonomia
– Eterogeneita’ di rappresentazione dei dati e dei linguaggi
– Distribuzione dei dati su tre basi di dati
–E’ dunque qualcosa di molto diverso da una
base di dati distribuita Æ Multidatabase
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
6
Percio’
Confronto tra le due tipologie di sistemi
yDistribuzione dei dati su tre nodi e su un nodo
centrale per l’archivio indici
yElevata eterogeneita’ concettuale
yElevata eterogeneita’ dei dati
yElevata autonomia di gestione (ogni ente prende
autonomamente tutte le decisioni di progetto ed
evoluzione del sistema, senza concordarle con
altri enti)
yNel nuovo sistema una qualche riduzione di
autonomia
y(ora i dati di variazione sono presi non dalla
impresa, ma dalle camere di commercio)
Sistema
Distribuzione Eterogeneita’ Autonomia
Base dati
distribuita
Multidatabase
Basi di Dati distribuite – @ Carlo Batini 2006
Confronto tra le due tipologie di sistemi
Basi di Dati distribuite – @ Carlo Batini 2006
Confronto tra le due tipologie di sistemi
Sistema
Distribuzione Eterogeneita’ Autonomia
Sistema
Distribuzione Eterogeneita’ Autonomia
Base dati
distribuita
Alta
Base dati
distribuita
Alta
Multidatabase Alta
Multidatabase Alta
Basi di Dati distribuite – @ Carlo Batini 2006
Bassa
Alta
Basi di Dati distribuite – @ Carlo Batini 2006
Confronto tra le due tipologie di sistemi
Sistema
Distribuzione Eterogeneita’ Autonomia
Base dati
distribuita
Alta
Multidatabase Alta
Bassa
Bassa
Alta
Alta
Basi di Dati distribuite – @ Carlo Batini 2006
2 Classificazione dei sistemi di BD
distribuite
2.1 Criteri di classificazione
2.2 Tipologie di sistemi di BD distribuite
Basi di Dati distribuite – @ Carlo Batini 2006
7
Modelli architetturali per DDBMS - 1
2.1 Criteri di classificazione
yUn DBMS Distribuito Eterogeneo Autonomo e’ in
generale una federazione di DBMS che
collaborano nel fornire servizi di accesso ai dati
con livelli di trasparenza definiti
yPer trasparenza intendiamo la proprieta’ generale
di nascondere le diversita’ tra basi di dati nei nodi
del sistema, negli aspetti di distribuzione,
eterogeneita’, autonomia.
Basi di Dati distribuite – @ Carlo Batini 2006
Spinta alla creazione di basi di dati e
sistemi informativi federati
yL’esigenza di integrare a posteriori (o talvolta
progettare fin dall’inizio) sistemi di tipo
federato emerge in molti casi:
– Evoluzione e/o integrazione di componenti applicativi
sviluppati separatamente (per ragioni tecniche,
organizzative o temporali)
– cooperazione di processi in precedenza separati
– cooperazione (o fusione) di enti o aziende indipendenti
yed è stimolata dallo sviluppo delle reti
Basi di Dati distribuite – @ Carlo Batini 2006
Autonomia
Fa riferimento al grado di indipendenza tra i nodi
Si distinguono diverse forme di autonomia
yDi progetto: ogni nodo adotta un proprio modello
dei dati e sistema di gestione delle transazioni
yDi condivisione: ogni nodo sceglie la porzione di
dati che intende condividere con altri nodi
yDi esecuzione: ogni nodo decide in che modo
eseguire le transazioni che gli vengono
sottoposte
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Modelli architetturali per DDBMS
yE’ possibile distinguere diverse modalita’ di
federazione e diverse corrispondenti architetture
yDimensioni ortogonali utili per la classificazione
–Autonomia
–Distribuzione
–Eterogeneita’
Basi di Dati distribuite – @ Carlo Batini 2006
Tipi di autonomia
y DBMS Strettamente integrati (nessuna autonomia)
– Dati logicamente centralizzati
– Un unico data manager responsabile delle transazioni
applicative
– I data manager locali non operano in modo autonomo
y Semi-autonomi
– Ogni data manager e’ autonomo ma partecipa a
transazioni globali
– Una parte dei dati e’ condivisa
– Richiedono modifiche architetturali per poter fare parte
della federazione
y Totalmente autonomi (o Peer to Peer)
yOgni DBMS lavora in completa autonomia ed e’
inconsapevole dell’esistenza degli altri
Basi di Dati distribuite – @ Carlo Batini 2006
8
Eterogeneita’
Distribuzione
yFa riferimento alla distribuzione dei dati. Si
possono distinguere:
yDistribuzione client/server, in cui la gestione dei
dati e’ concentrata nei server, mentre i client
forniscono l’ambiente applicativo e la
presentazione.
yDistribuzione peer-to-peer, in cui non c’e’
distinzione tra client e server, e tutti i nodi del
sistema hanno identiche funzionalita’ DBMS
yNessuna distribuzione
yNel seguito non distingueremo tra distribuzione
client/server e peer-to-peer
yPuo’ riguardare
yModello dei dati
– Es. Relazionale, XML, Object Oriented
yLinguaggio di query
– Es. Diversi dialetti SQL, Query by Example, Linguaggi di
interrogazione OO o XML
yGestione delle transazioni
– Es. Diversi protocolli per il concurrency control e per il
recovery
ySchema concettuale e schema logico
– Es. Un concetto rappresentato in uno schema come
attributo e in un altro come entita’
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Tipologie di sistemi di BD distribuite
Distribuzione
2.2 Tipologie di sistemi di BD
DEA
si
Auto
nomia
no
semi
totally
si
Eterogeneità
Basi di Dati distribuite – @ Carlo Batini 2006
Tipologie di sistemi di BD distribuite
e collocazione dei due casi esaminati
Caso 1 - Evoluzione del
Sistema informativo
della azienda
Distribuzione
Tipologie di sistemi di BD distribuite: tipi di sistemi
Caso 2 - Evoluzione
del sistema
Inps Inail Camere
si
Auto
nomia
no
semi
Basi di Dati distribuite – @ Carlo Batini 2006
totally
si
Eterogeneità
Sistemi Distribuiti federati
eterogenei
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
Æ Data Warehouse
si
Eterogeneità
Basi di Dati distribuite – @ Carlo Batini 2006
Sistemi
multidatabase
Distribuiti Sistemi
DBMS
federati
Multidatabase
federati
Distribuiti
Distribuiti
Distribuzione
si
Sistemi
Multidatabase
no
semi
Sistemi logicamente
Integrati eterogenei
federati
Auto
nomia
totally
Sistemi
Multidatabase
federati
Basi di Dati distribuite – @ Carlo Batini 2006
9
Tipologie di sistemi di BD distribuite: tipologie rilevanti
Sistemi
multidatabase
Distribuiti Sistemi
DBMS
federati
Multidatabase
federati
Distribuiti
Distribuiti
Tipologie di sistemi di BD distribuite tipologie rilevanti
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
Æ DW
DBMS Distribuito
Omogeneo (DDBMS)
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
semi
Sistemi logicamente
Integrati eterogenei
federati
Auto
nomia
totally
Sistemi
Multidatabase
federati
Sistemi
multidatabase
Distribuiti Sistemi
DBMS
federati
Multidatabase
federati
Distribuiti
Distribuiti
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
Æ DW
DBMS Distribuito
Omogeneo (DDBMS)
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
semi
Sistemi logicamente
Integrati eterogenei
federati
Basi di Dati distribuite – @ Carlo Batini 2006
DBMS Distribuito
Omogeneo (DDBMS)
yDBMS distribuiti eterogenei: strettamente
integrati ma con eterogeneita’ di varia natura
Sistemi
multidatabase
Distribuiti
federati
Distribuzione
Sistemi
Multidatabase
Distribuiti
si
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
DW
DBMS
federati
Distribuiti
Sistemi
Multidatabase
semi
si
Eterogeneità
Auto
nomia
totally
Sistemi
Multidatabase
federati
Sistemi logicamente
Integrati eterogenei
federati
Basi di Dati distribuite – @ Carlo Batini 2006
Tipologie piu’ rilevanti - 3
yDBMS federati e logicamente integrati: semiautonomi, eterogenei
– Esempio: insieme di DBMS che gestiscono dati
strutturati, immagini, video, per i quali viene creata una
interfaccia integrata di accesso
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
DW
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
federati
Distribuiti
Sistemi
multidatabase
Distribuiti
federati
Sistemi
Multidatabase
Distribuiti
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
Sistemi logicamente
Integrati eterogenei
federati
Sistemi
Multidatabase
federati
Tipologie piu’ rilevanti - 2
– Sono l’oggetto prevalente nel seguito
Distribuzione
totally
Basi di Dati distribuite – @ Carlo Batini 2006
Tipologie piu’ rilevanti -1
yDBMS distribuiti omogenei (DDBMS):
strettamente integrati, omogenei
Sistemi Distribuiti federati
eterogenei
Auto
nomia
semi
Auto
nomia
totally
Sistemi
Multidatabase
federati
Basi di Dati distribuite – @ Carlo Batini 2006
Sistemi Distribuiti federati
eterogenei
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
federati
Distribuiti
Sistemi
multidatabase
Distribuiti
federati
Sistemi
Multidatabase
Distribuiti
si
DBMS
Distribuito
eterogeneo
Sistemi
Multidatabase
DBMS logicamente
Integrato
DBMS
Eterogeneo
Logicamente
Integrato
DW
no
semi
Eterogeneità
totally
Sistemi
Multidatabase
federati
Sistemi logicamente
Integrati eterogenei
federati
si
Auto
nomia
Basi di Dati distribuite – @ Carlo Batini 2006
Tipologie piu’ rilevanti - 4
yMulti Data Base MS: totalmente autonomi,
omogenei/eterogenei
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
DW
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
federati
Distribuiti
Sistemi
multidatabase
Distribuiti
federati
Sistemi
Multidatabase
Distribuiti
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
Sistemi logicamente
Integrati eterogenei
federati
semi
Auto
nomia
totally
Sistemi
Multidatabase
federati
Basi di Dati distribuite – @ Carlo Batini 2006
10
Tipologie piu’ rilevanti - 5
yData Warehouse: centralizzati, ma risultato della
integrazione fuori linea di fonti eterogenee
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
DBMS
Eterogeneo
Logicamente
Integrato
Æ DW
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
federati
Distribuiti
Sistemi
multidatabase
Distribuiti
federati
Sistemi
Multidatabase
Distribuiti
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
semi
Auto
nomia
Nel seguito confrontiamo:
yDBMS distribuiti (omogenei o eterogenei)
yMulti Data Base
Distribuzione
Sistemi Distribuiti federati
eterogenei
DBMS
Distribuito
eterogeneo
totally
Sistemi
Multidatabase
federati
Sistemi logicamente
Integrati eterogenei
federati
Basi di Dati distribuite – @ Carlo Batini 2006
DBMS
Eterogeneo
Logicamente
Integrato
Æ DW
DBMS Distribuito
Omogeneo (DDBMS)
DBMS
federati
Distribuiti
Sistemi
multidatabase
Distribuiti
federati
Sistemi
Multidatabase
Distribuiti
si
Sistemi
Multidatabase
DBMS logicamente
Integrato
no
si
Eterogeneità
semi
Auto
nomia
totally
Sistemi
Multidatabase
federati
Sistemi logicamente
Integrati eterogenei
federati
Basi di Dati distribuite – @ Carlo Batini 2006
Confronti
yArchitetture dati
yArchitetture funzioni
yProcesso di progettazione
Architetture dati e funzioni
Basi di Dati distribuite – @ Carlo Batini 2006
Differenze nelle architetture
dei DDBMS e sistemi multi database
yIn particolare vediamo:
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura dati di riferimento
per un DBMS centralizzato
Schema esterno
–Per i DDBMS
yArchitettura dati
yArchitettura funzionale
Schema esterno
Schema esterno
Schema logico
–Per i sistemi multidatabase
yArchitettura dati
–con schema concettuale globale
–senza schema concettuale globale
yArchitettura funzionale
Basi di Dati distribuite – @ Carlo Batini 2006
Schema fisico
Basi di Dati distribuite – @ Carlo Batini 2006
11
Architettura dati di riferimento per un
DDBMS
Schema esterno
Schema esterno
Schema esterno
Distributed DBMS
Schema logico globale
Viste dello
Schema globale
Schema logico locale
Schema logico locale
Schema logico locale
Schema fisico locale
Schema fisico locale
Schema fisico locale
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura funzionale di un DDBMS
rete
client
client
DBMS
DBMS
DBMS
BD
BD
BD
Basi di Dati distribuite – @ Carlo Batini 2006
Ruolo dei DBMS ai diversi nodi
yPer ciascuna funzione (query processing,
transaction manager, ecc) vi puo’ essere una
gestione:
yCentralizzata/gerarchica vs distribuita
yCon assegnazione statica vs dinamica dei ruoli
yVedremo piu’ avanti (DDBMS) esempi concreti di
strategie per le diverse funzionalita’
Basi di Dati distribuite – @ Carlo Batini 2006
Multidatabase - due possibilita’:
- con schema concettuale globale
- senza schema concettuale globale
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura dati MDBS con Schema concettuale
globale
y Esiste uno schema concettuale globale che esprime in
forma integrata l’intero contenuto informativo degli
schemi locali
Professore
Corso
Basi di Dati distribuite – @ Carlo Batini 2006
Schema globale
Professore
Studente
Corso
Studente
Schema locale 1
Modulo
Schema locale 1
Basi di Dati distribuite – @ Carlo Batini 2006
12
Architettura dati MDBS con Schema concettuale globale
y Local Internal Schema (LIS) - Schema fisico dei dati su un nodo
y Local Logical Schema (LLS) - Schema logico dei dati su un nodo
y Global Logical Schema (GLS) - Schema logico dei dati globale su tutti i
nodi
y External Schema (ES) - Viste locali o globali dello schema logico
disponibili a diverse classi di applicazioni
GES1
GESn
GES2
GLS
LES1
LES1
LES2
Architettura dati MDBS con Schema concettuale
globale
y Differenza fondamentale rispetto a DDBMS: definizione del
Global Logical Schema
y Nei multidatabase e’ il risultato della integrazione, e della
risoluzione di eventuali conflitti, degli schemi locali, es.
come nello schema precedente, una entita’ Corso in uno
schema e Modulo in un altro schema danno luogo ad una
entita’ Corso nello schema globale. Viene progettato dopo
gli schemi locali
Global schema
LES2
LLS1
LLS2
LLSn
LIS1
LIS2
LISn
Local schema1
Local schema2
Basi di Dati distribuite – @ Carlo Batini 2006
Nei DDBMS gli schemi locali sono viste dello schema globale
e vengono progettate, percio’ lo schema globale viene
progettato prima degli schemi locali
Schema esterno
Schema esterno
Schema esterno
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura dati MDBS con Schema concettuale globale
– Due possibili relazioni tra Global Schema e Local Schemas
– Prima possiblita’: integra i Local Logical Schemas
GES1
Schema logico globale
Schema logico locale
Schema fisico locale
LES1
LES2
Schema fisico locale
LLS1
LLS2
LIS1
LIS2
LLSn
LISn
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura dati MDBS con Schema concettuale
globale
–Seconda possibilita: integra (anche) Local
External Schemas
GES2
LLS1
LLS2
LIS1
LIS2
Architettura MDBS senza schema concettuale
globale
Nei sistemi con autonomia massima non esiste lo schema
concettuale globale
Le singole applicazioni negoziano la visibilita’ di frammenti di
schemi locali per costruire schemi esterni
ES1
ES2
ESn
Livello
locale
LES1
LES2
Basi di Dati distribuite – @ Carlo Batini 2006
Livello
multidatabase
GESn
GLS
LES1
LES2
Schema logico locale
Schema fisico locale
GES1
GESn
GLS
LES1
Schema logico locale
GES2
Viste dello
Schema globale
LES2
LES11
LES12
LES21
LES22
LLSn
LLS1
LLS2
LISn
LIS1
LIS2
Basi di Dati distribuite – @ Carlo Batini 2006
LESm1
LESm2
LLSm
LISm
Basi di Dati distribuite – @ Carlo Batini 2006
13
E’ il caso del sistema Inps Inail CC
Indica una relazione
Agente
economico
Dati previ
denziali
Schema Inps
Impresa
Agente
economico
Codice Inps
Dati assi
curativi
Partita IVA
Architettura funzionale di un MDBS:
assumiamo il caso in cui esista uno
schema concettuale globale
Schema comune
Schema Inail
Impresa
Codice Inail
Impresa
Struttura
Impresa
Schema Camere C
Anagrafica
Basi di Dati distribuite – @ Carlo Batini 2006
Esempio
y L’interrogazione “Trova tutti i professori che insegnano i corsi nel piano
di studi dello studente “Rossi” viene distinta in due interrogazioni
y a. Trova l’insieme dei corsi C nel piano di studi di Rossi, eseguita sullo
schema 1 e
y b. trova Professori relativi a moduli in C, eseguita sullo schema 2
y Successivamente i risultati sono composti per ottenere il risultato
completo
Professore
Corso
Studente
Architettura funzionale di un MDBS: assumiamo in
caso in cui esista uno schema concettuale globale
client
Schema locale 1
Modulo
client
MultiDBMS
Mediatore
Schema globale
Professore
Studente
Corso
Basi di Dati distribuite – @ Carlo Batini 2006
Wrapper
Wrapper
DBMS
DBMS
BD
BD
Schema locale 1
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
Architettura funzionale di un MDBS
client
Mediatore
- Fornisce allo strato
superiore una
rappresentazione
virtuale unica delle
basi di dati che
coordina, data dallo
schema globale
- Traduce le richieste
di esecuzione di
queries in termini di
frammenti di queries,
inviate ai wrapper
- Ricompone i risultati
restituiti dai wrapper
Architettura funzionale di un MDBS
nel nostro esempio
client
client
MultiDBMS
Wrapper
DBMS
BD
client
MultiDBMS
Mediatore
Wrapper
client
Professore
client
Corso
Studente
Mediatore
Wrapper
Wrapper
DBMS
DBMS
DBMS
BD
BD
Basi di Dati distribuite – @ Carlo Batini 2006
client
BD
Basi di Dati distribuite – @ Carlo Batini 2006
14
Architettura funzionale di un
MDBS
Wrapper
-Traduce la
richiesta che
proviene dal
mediatore in
termini della
rappresentazione
logico fisica dello
schema locale
sottostante
- Restituisce il
risultato al
mediatore
client
Architettura funzionale di un MDBS
nel nostro esempio
client
client
client
MultiDBMS
MultiDBMS
Mediatore
Mediatore
Wrapper
Wrapper
DBMS
DBMS
client
Studente
Wrapper
Wrapper
DBMS
DBMS
client
Professore
Corso
BD
Modulo
BD
BD
BD
Basi di Dati distribuite – @ Carlo Batini 2006
Ruoli del mediatore e del wrapper
Basi di Dati distribuite – @ Carlo Batini 2006
La struttura mediatore/wrapper
puo’ essere a piu’ livelli
yMediatore
– fornisce allo strato superiore una rappresentazione
virtuale unica delle basi di dati che coordina data
dallo schema globale
– Traduce le richieste di esecuzione di queries in
termini di frammenti di queries, inviate ai wrapper
– Ricompone i risultati restituiti dai wrapper
yWrapper
– Traduce la richiesta che proviene dal mediatore in
termini della rappresentazione logico fisica dello
schema locale sottostante
– Restituisce il risultato al mediatore
Basi di Dati distribuite – @ Carlo Batini 2006
Mediatore
Mediatore
Wrapper
Wrapper
DBMS
DBMS
BD
BD
Mediatore
DBMS
Basi di Dati distribuite – @ Carlo Batini 2006
Progettazione DDBMS
Il processo di progettazione
y La natura fortemente integrata dei DDBMS porta a
adottare per essi un approccio top-down alla
progettazione, che rispetto alla progettazione di
applicazioni DBMS .......
Analisi dei requisiti
Progettazione concettuale
Progettazione logica
Progettazione fisica
Basi di Dati distribuite – @ Carlo Batini 2006
Basi di Dati distribuite – @ Carlo Batini 2006
15
Progettazione DDBMS
y La natura fortemente integrata dei DDBMS porta ad
adottare per essi un approccio top-down alla
progettazione, che rispetto alla progettazione di
applicazioni DBMS, introduce una nuova fase
Analisi dei requisiti
Progettazione concettuale
Progettazione della distribuzione
Progettazione logica
Progettazione fisica
Basi di Dati distribuite – @ Carlo Batini 2006
Progettazione sistemi multidatabase
y Invece, per i sistemi multi database si adotta un
approccio bottom-up, perche’ tipicamente risultano
dalla orchestrazione di sistemi esistenti.
Analisi dei requisiti
Progettazione concettuale e logica degli schemi locali
Progettazione concettuale e logica dello schema globale
Eventuale riprogettazione fisica parziale degli schemi locali
Basi di Dati distribuite – @ Carlo Batini 2006
Portabilita’ e interoperabilita’ nei DBMS DEA
yPortabilita’ : capacita’ di eseguire le stesse
applicazioni DB su ambienti runtime diversi
–Compile time
–Facilitata dall’aderenza a standards (e.g.: SQL2, SQL-3)
Basi di Dati distribuite – @ Carlo Batini 2006
Progettazione DDBMS
yInoltre, progettazione logica e fisica sono ora
effettuate sui nodi locali
Analisi dei requisiti
Progettazione concettuale
Progettazione della distribuzione
Progettazione logica locale
Progettazione fisica locale
Basi di Dati distribuite – @ Carlo Batini 2006
Tornando ai nostri due esempi
yLa implementazione del primo sistema avverrà
utilizzando un DDBMS (organizzazione unica,
possibilita’ di coordinamento)
yIl secondo sistema (Inps + Inail + Camere di
commercio) va implementato con un sistema
multidatabase, in cui
ylo schema condiviso e’ costituito dalla entita’
Impresa
yla perdita di autonomia e’ limitata alle sole
transazioni di aggiornamento su variazione di
impresa eseguite in modo asincrono
Basi di Dati distribuite – @ Carlo Batini 2006
Portabilita’ e interoperabilita’ nei DBMS DEA
y Interoperabilita’: capacita’ di eseguire applicazioni che
coinvolgono contemporaneamente sistemi diversi ed
eterogenei
– Run-time
– Facilitata dalla standardizzazione dei protocolli di
accesso ai dati:
– Database Connectivity (ODBC)
– X-Open Distributed Transaction Processing (DTP)
– Normalmente limitata al livello di accesso
Basi di Dati distribuite – @ Carlo Batini 2006
16
Piano di lavoro: fino ad ora ..
Paradigmi per la distribuzione dati
y Abbiamo visto Æ Basi di Dati DEA, casi DDBMS e
Multidatabase: diversi server DBMS utilizzati dallo
stesso insieme di applicazioni
y Piu’ avanti Æ
y Basi di Dati Parallele: incremento delle prestazione
mediante parallelismo sia di storage devices che di
processore
y Basi di Dati Replicate: replicazione della stessa
informazione su diversi server per motivi di performance
y Data warehouses: DBMS centralizzati, risultato della
integrazione di fonti eterogenee, dedicati
specificamente alla gestione di dati per il supporto alle
decisioni
DDBMS
Multi
database
Caratteristiche
generali
x
x
Architetture
dati funzioni
x
x
Proprieta’
Query
processing
Controllo
concorrenza
Recovery
management
Basi di Dati distribuite – @ Carlo Batini 2006
Piano di lavoro: seconda parte
Multi
database
BD
Parallele
Piano di lavoro: terza parte
BD Replicate
DDBMS
Multi
database
Caratteristiche
generali
x
x
Caratteristiche
generali
x
x
Architetture
dati funzioni
x
x
Architetture
dati funzioni
x
x
Processo di
progettazione
x
x
Processo di
progettazione
x
x
Proprieta’
x
Proprieta’
x
Query
processing
x
Query
processing
x
Controllo
concorrenza
x
Controllo
concorrenza
x
Recovery
management
x
Recovery
management
x
Basi di Dati distribuite – @ Carlo Batini 2006
BD Replicate
Processo di
progettazione
Basi di Dati distribuite – @ Carlo Batini 2006
DDBMS
BD
Parallele
BD
Parallele
x
BD Replicate
x
Basi di Dati distribuite – @ Carlo Batini 2006
Piano di lavoro: quarta parte
DDBMS
Multi
database
Caratteristiche
generali
x
x
Architetture
dati funzioni
x
x
Processo di
progettazione
x
x
Proprieta’
x
Query
processing
x
Controllo
concorrenza
x
Recovery
management
x
BD
Parallele
x
BD Replicate
x
Basi di Dati distribuite – @ Carlo Batini 2006
17