ARCHITETTURE PER LA GESTIONE DI DATI...
Transcript of ARCHITETTURE PER LA GESTIONE DI DATI...
ARCHITETTURE PER LA GESTIONE DI DATI DISTRIBUITI
ARCHITETTURE PER LA GESTIONE DI DATI DISTRIBUITI
Prof. Fabio A. SchreiberDipartimento di Elettronica e Informazione
Politecnico di Milano
Fabio A. Schreiber database distribuiti 1
LE TECNOLOGIE DI GESTIONE DELL’INFORMAZIONE
LE TECNOLOGIE DI GESTIONE DELL’INFORMAZIONE
SISTEMIEMBEDDED
ANALISI DEI S.I.
INTEGRAZIONEDEI DATI
GESTIONE DI DATIDISTRIBUITI EDETEROGENEI
DATA WAREHOUSE
DATAMINING
SISTEMI INFORMATIVI SU
WEB
SISTEMI DI INFORMATION
RETRIEVAL
SUPPORTO ALLE
DECISIONI
INFORMAZIONE
NON STRUTTURATA
SEMISTRUTTURATA
E MULTIMEDIALE
COMPONENTIMOBILI E
DIPENDENTI DAL CONTESTO
BASI DI DATI
•REAL-TIME
•MAIN MEMORY
•TEMPORALI
Fabio A. Schreiber database distribuiti 2
LE TELECOMUNICAZIONI AZIENDALILE TELECOMUNICAZIONI AZIENDALI
1°FASE (< ANNI ‘80)• TELEFONO (POTS), TELEX, TRASMISSIONE DATI
INDIPENDENTI SU RETI SEPARATE
2°FASE (ANNI ‘80 - ‘95)• PROGETTO E REALIZZAZIONE DI GRANDI RETI DI
TELECOMUNICAZIONE DIGITALI• SVILUPPO DI RETI LOCALI DI PC E WORKSTATION
3°FASE (> 1995)• INTEGRAZIONE E GESTIONE DI GRANDI RETI ETEROGENEE
E DI RETI LOCALI
Fabio A. Schreiber database distribuiti 3
IL MODELLO DI RIFERIMENTO ISO-OSIIL MODELLO DI RIFERIMENTO ISO-OSI
LIVELLO APPLICATIV
OLIVELLO DI
PRESENTAZIONE
LIVELLO DI SESSIONE
LIVELLO DITRASPORTO
LIVELLO DIRETE
LIVELLO DI COLLEGAMENTO DATI
LIVELLO FISICO
LIVELLO APPLICATIVO
LIVELLO DIPRESENTAZIONE
LIVELLO DI SESSIONE
LIVELLO DITRASPORTO
LIVELLO DIRETE
LIVELLO DI COLLEGAMENTO DATI
SOTTOLIVELLO DI ACCESSOAL MEZZO TRASMISSIVO
LIVELLO FISICO
PROTOCOLLINODO TERMINALE NODO TERMINALE
NODO RELAY
INTERFACCE INTERFACCE
SOTTOLIVELLO DI ACCESSOAL MEZZO TRASMISSIVO
Fabio A. Schreiber database distribuiti 4
APPLICAZIONI DEI SISTEMI DISTRIBUITIAPPLICAZIONI DEI SISTEMI DISTRIBUITI
• ACCESSO A RISORSE REMOTEpossibilità di collegarsi mediante lo stesso terminale a diversi
elaboratori e centri di calcolo (p.e. TELNET, FTP, .. .)
• ELABORAZIONE DISTRIBUITApossibilità di realizzare sistemi complessi nei qual i il processo
applicativo utilizza più elaboratori e/o più insiemi di dati , tra loro collegati con sistemi di telecomunicazione (p. e. sistemi informativi distribuiti, HPC, …)
• APPLICAZIONI TELEMATICHE– posta elettronica– teleconferenza– accesso a banche di dati
Fabio A. Schreiber database distribuiti 5
GESTIONE DEI DATI IN RETEGESTIONE DEI DATI IN RETE
Fabio A. Schreiber database distribuiti 6
GESTIONE DEI DATI IN RETE:BASI DI DATI INDIPENDENTI
GESTIONE DEI DATI IN RETE:BASI DI DATI INDIPENDENTI
Fabio A. Schreiber database distribuiti 7
GESTIONE DEI DATI IN RETE:LINGUAGGIO DI COMANDI STANDARD
GESTIONE DEI DATI IN RETE:LINGUAGGIO DI COMANDI STANDARD
Fabio A. Schreiber database distribuiti 8
GESTIONE DEI DATI IN RETE:BASE DI DATI DISTRIBUITA
GESTIONE DEI DATI IN RETE:BASE DI DATI DISTRIBUITA
DDBMS
Fabio A. Schreiber database distribuiti 9
I NUOVI SISTEMI INFORMATIVII NUOVI SISTEMI INFORMATIVI
LE RETI DI TELECOMUNICAZIONE DIVENTANO UNA COMPONENTE ESSENZIALE PER IL BUON FUNZIONAMENTO ECONOMICO E OPERATIVO DELL’AZIENDA
LA DISPONIBILITA’ DI SISTEMI DI TELECOMU-NICAZIONE EFFICACI CONSENTE LO SVILUPPO DI NUOVI TIPI DI BUSINESS
Fabio A. Schreiber database distribuiti 10
PABX
ISDN
BACKBONE FDDIoppure
MAN 802.6
UFFICIO TECNICO 802.5
FABBRICA 802.4
MAGAZZINO 802.3
CENTRO EDP
UFFICI AMMINISTRATIVI802..3
gateway
gateway
gateway
gateway
gateway
SISTEMA CON DISTRIBUZIONE VERTICALE DELLE FUNZIONI
SISTEMA CON DISTRIBUZIONE VERTICALE DELLE FUNZIONI
Fabio A. Schreiber database distribuiti 11
PABX
ISDN
BACKBONE FDDIoppure
MAN 802.6
CENTRO EDP
UFFICI AMMINISTRATIVI
802..3
UFFICI AMMINISTRATIVI
802..3
UFFICI AMMINISTRATIVI
802..3
UFFICI AMMINISTRATIVI
802..3
gateway
gateway
gatewaygateway
gateway
SISTEMA CON DISTRIBUZIONE ORIZZONTALE DELLE FUNZIONI
SISTEMA CON DISTRIBUZIONE ORIZZONTALE DELLE FUNZIONI
Fabio A. Schreiber database distribuiti 12
GESTIONE DEI DATIGESTIONE DEI DATI
1°FASE (< ANNI 70)• FILE SPARSI
2°FASE (ANNI ‘70 - ‘90)• GRANDI BASI DI DATI CENTRALIZZATE
3°FASE (> 1990)• GESTIONE DISTRIBUITA DEI DATI
Fabio A. Schreiber database distribuiti 13
ARCHITETTURA DEI SISTEMIUN PROCESSO DIALETTICOARCHITETTURA DEI SISTEMIUN PROCESSO DIALETTICO
Fabio A. Schreiber database distribuiti 14
GESTIONE DISTRIBUITA DEI DATI: SCOPI FUNZIONALI
GESTIONE DISTRIBUITA DEI DATI: SCOPI FUNZIONALI
• AFFIDABILITA’
• CONDIVISIONE DEL CARICO DI LAVORO
• CONDIVISIONE DI RISORSE
• QUALITA’ DI SERVIZIO PER L’UTENTE
Fabio A. Schreiber database distribuiti 15
SCOPI FUNZIONALI: AFFIDABILITA’SCOPI FUNZIONALI: AFFIDABILITA’
• LA PRESENZA DI RISORSE HW/SW RIDONDANTI CONSENTE DI UTILIZZARLE
PER OTTENERE UN’ ELEVATA DISPONIBILITA’ DEL SISTEMA
- SISTEMI TOLLERANTI AI GUASTI (FAULT TOLERANT)
- SISTEMI A DEGRADAZIONE GRADUALE (SOFT DEGRADATION)
Fabio A. Schreiber database distribuiti 16
SCOPI FUNZIONALI: CONDIVISIONE DEL CARICO
SCOPI FUNZIONALI: CONDIVISIONE DEL CARICO
CONSENTE UN DIMENSIONAMENTO EQUILIBRATO DELLE RISORSE
MESE ORA
WKL1 WKL1
Fabio A. Schreiber database distribuiti 17
SCOPI FUNZIONALI: CONDIVISIONE DEL CARICO
SCOPI FUNZIONALI: CONDIVISIONE DEL CARICO
MESE ORA
WKL1 WKL1
CONSENTE UN DIMENSIONAMENTO EQUILIBRATO DELLE RISORSE
Fabio A. Schreiber database distribuiti 18
GESTIONE DISTRIBUITA DEI DATI: SCOPI FUNZIONALI
GESTIONE DISTRIBUITA DEI DATI: SCOPI FUNZIONALI
• CONDIVISIONE DI RISORSEPOSSIBILITA’ DI CONDIVIDERE RISORSE SPECIALIZZATE O UNICHE PRESENTI IN QUALCHE SITO DEL SISTEMA
• MIGLIORAMENTO DELLA QUALITA’ DEL SERVIZIO– POSSIBILITA’ DI ELABORAZIONE LOCALE– RIDUZIONE DEI TEMPI DI RISPOSTA– INTERFACCIA UTENTE PIU’ COMODA
Fabio A. Schreiber database distribuiti 19
GESTIONE DISTRIBUITA DEI DATI: FATTORI ECONOMICI E ORGANIZZATIVI
GESTIONE DISTRIBUITA DEI DATI: FATTORI ECONOMICI E ORGANIZZATIVI
• A FAVORE– MAGGIORE CONTATTO TRA UTENTE E SISTEMA GRAZIE
ALL’EFFICACIA DEI SISTEMI LOCALI– DISTRIBUZIONE DEL “POTERE” (ORGANIZZATIVO,
PSICOLOGICO, POLITICO, …) ASSOCIATO AL POSSESSO DELL’INFORMAZIONE
– INTEGRAZIONE DELLE ATTIVITA’ ORGANIZZATIVE IN IMPRESE TERRITORIALMENTE DISTRIBUITE
– COSTI/BENEFICI ???
• CONTRO– LA NECESSITA’ DI COORDINAMENTO E COLLABORAZIONE
RICHIESTA A TUTTI I LIVELLI RICHIEDE UNA “ATTITUDINE CULTURALE” CHE NON SI TROVA FREQUENTEMENTE
– COSTI/BENEFICI ???
Fabio A. Schreiber database distribuiti 20
SISTEMI DISTRIBUITISISTEMI DISTRIBUITI
SONO SISTEMI NEI QUALI IL TEMPO DI TRASMISSIONE DEI MESSAGGI NON ENON E’’
TRASCURABILETRASCURABILE RISPETTO AL TEMPO CHE INTERCORRE TRA GLI EVENTI DI UN SINGOLO
PROCESSO
Fabio A. Schreiber database distribuiti 21
GESTIONE DISTRIBUITA DEI DATI:ARCHITETTURE
GESTIONE DISTRIBUITA DEI DATI:ARCHITETTURE
ARCHITETTURA Hw/Sw GESTIONE DEI DATI
sistemi debolmente connessi abanda stretta
reti di calcolatori geograficamentedistribuite
sistemi per la gestione di basi didati distribuite
sistemi debolmente connessi abanda larga
reti locali, sistemi funzionalmentedistribuiti
back-end processor(database server)
sistemi paralleli fortementeconnessi a banda larga
sistemi multiprocessori, memorieassociative, …
database machine
Fabio A. Schreiber database distribuiti 22
DBMS
distribuiti
federati
DBMS
distribuiti
eterogenei
distribuzione
eterogeneita'
autonomia
DBMS
distribuiti
omogenei
sistemi
distribuiti
multidatabase
DBMS
distribuiti
federati
eterogenei
sistemi
distribuiti
multidatabase
eterogenei
DBMS
integrati
eterogenei
DBMS
locali
federati
eterogenei
sistemi
multidatabase
eterogenei
DBMS
integrati
omogenei
sistemi
multidatabase
LO SPAZIO DEI DDSS (DISTRIBUTED DATA SHARING SYSTEMS)
LO SPAZIO DEI DDSS (DISTRIBUTED DATA SHARING SYSTEMS)
Fabio A. Schreiber database distribuiti 23
TASSONOMIA DEI DDSSTASSONOMIA DEI DDSSTIPO DI SISTEMA
IL SISTEMA GLOBALE
ACCEDE A ...I NODI LOCALI
SONOTIPICAMENTE ...
FUNZIONI DI
DB GLOBALE
MODO DI PORRE
L’INFORMAZ. GLOBALE
basi di dati distribuite
multidatabase con
schema globale
basi di dati federate
multidatabase con
linguaggio di sistema
multidatabase omogenei
con linguaggio di sistema
sistemi interoperabili
funzioni interne del
DBMS
interfaccia utente
del DBMS
interfaccia utente
del DBMS
interfaccia utente
del DBMS
interfaccia utente del
DBMS e alcune
funzioni interne
applicazioni al di
sopra del DBMS
si
si
si
si
si
no
basi di dati
omogenee
basi di dati
omogenee
basi di dati
eterogenee
basi di dati
eterogenee
basi di dati
eterogenee
qualsiasi sorgente di dati
che soddisfi il
protocollo di interfaccia
spazio dei nomi e
schema globali
schema globale
schemi globali
parziali
funzioni di accesso
del linguaggio
funzioni di accesso
del linguaggio
scambio di dati
Fabio A. Schreiber database distribuiti 24
GESTIONE DISTRIBUITA DEI DATIGESTIONE DISTRIBUITA DEI DATI
• ARCHITETTURA CLIENT-SERVER– MOLTI CLIENTI SI RIVOLGONO AD UN UNICO SERVER– USATA PRINCIPALMENTE PER OLTP SU RETI LOCALI
• BASI DI DATI DISTRIBUITE– MOLTI CLIENTI SI RIVOLGONO A MOLTI SERVENTI– USATE PER OLTP SU RETI LOCALI E GEOGRAFICHE
• DATA WAREHOUSE– COLLEZIONE DI DATI PROVENIENTI DA PIU’ SISTEMI
SORGENTE– USATE PER DSS SU RETI LOCALI E GEOGRAFICHE
Fabio A. Schreiber database distribuiti 25
DDSS IN ARCHITETTURA CLIENT-SERVERDDSS IN ARCHITETTURA CLIENT-SERVER
• IL CLIENT – E’ GESTITO DAL PROGRAMMATORE APPLICATIVO – E’ ADATTO ALL’INTERAZIONE CON L’UTENTE FINALE AL
QUALE PRESENTA UN’INTERFACCIA AMICHEVOLE– UTILIZZA SQL STATICO O DINAMICO
• IL SERVER– E’ GESTITO DALL’ AMMINISTRATORE DELLA BD– DIMENSIONATO IN FUNZIONE DEL CARICO E DEI SERVIZI
CHE DEVE OFFRIRE– GESTISCE LE PROCEDURE DI OTTIMIZZAZIONE
Fabio A. Schreiber database distribuiti 26
DDSS IN ARCHITETTURA CLIENT-SERVERDDSS IN ARCHITETTURA CLIENT-SERVERUSO DI PRIMITIVE DEL DDBMS
SITO CLIENT
SITO SERVER
PROGRAMMA
APPLICATIVO
PRIMITIVE DI ACCESSO
ALLA BASE DI DATI
RISULTATI
DDBMS1
DDBMS2
DATABASE
Fabio A. Schreiber database distribuiti 27
DDSS IN ARCHITETTURA CLIENT-SERVERDDSS IN ARCHITETTURA CLIENT-SERVER
SITO CLIENT
SITO SERVER
USO DI PROGRAMMI AUSILIARI E RPC
PROGRAMMA
APPLICATIVO
DATABASE
RPC
PROGRAMMA
AUSILIARIO
DBMS1
DBMS2
RISULTATI
PRIMITIVE DI ACCESSO
ALLA BASE DI DATI
Fabio A. Schreiber database distribuiti 28
DDSS IN ARCHITETTURA CLIENT-SERVERDDSS IN ARCHITETTURA CLIENT-SERVER
• USO DI PRIMITIVE DEL DDBMS– IL COMPONENTE LOCALE DEL DDBMS INDIRIZZA LA
RICHIESTA AL SERVER CHE ESEGUE L’ACCESSO E RESTITUISCE I RISULTATI
– MAGGIOR TRASPARENZA ALLA DISTRIBUZIONE GRAZIE A NOMI DI FILE GLOBALI
– BASSA EFFICIENZA PERCHE’ VIAGGIA UNA TUPLA ALLA VOLTA
• USO DI PROGRAMMI AUSILIARI E RPC– L’APPLICAZIONE CHIEDE L’ESECUZIONE DEL PROGRAMMA
AUSILIARIO SUL SERVER. QUESTO ESEGUE L’OPERAZIONE E RESTUISCE I RISULTATI
– IL PROGRAMMA AUSILIARIO E’ IN GRADO DI ASSEMBLARE LE SINGOLE TUPLE IN INSIEMI RISULTATO COSI’AUMENTANDO L’EFFICIENZA DELLE TRASMISSIONE
Fabio A. Schreiber database distribuiti 29
DATA WAREHOUSE (DW)DATA WAREHOUSE (DW)
• TECNICA PER ASSEMBLARE E GESTIRE CORRETTAMENTE DATI PROVENIENTI DA SORGENTI DIVERSE AL FINE DI OTTENERE UNA VISIONE DETTAGLIATA DI UN SISTEMA ECONOMICO
• E’ UNA RACCOLTA DI DATI – INTEGRATA– PERMANENTE– VARIABILE NEL TEMPO– ORIENTATA AD UN PRECISO ARGOMENTO
A SUPPORTO DI DECISIONI MANAGERIALI
• E’ L’ELEMENTO DI SEPARAZIONE TRA I CARICHI DI LAVORO OLTP E QUELLI DSS
Fabio A. Schreiber database distribuiti 30
STRUTTURA DI UN DWSTRUTTURA DI UN DW
?
DATABASE 1
WAREHOUSE AZIENDALE
DATABASE 2 DATABASE
LEGACY FILE SPARSI
WAREHOUSE
DIPARTIMENTALEWAREHOUSE
DIPARTIMENTALE
WAREHOUSE
DIPARTIMENTALE
COSTRUZIONE DEL
WAREHOUSE
REPLICAZIONE E
PROPAGAZIONE
KNOWLEDGE DISCOVERY
E
DATA MINING
ACCESSO E GESTIONE
DELL’INFORMAZIONE
1 + 1 = 31 + 1 = 31 + 1 = 31 + 1 = 3
?
Fabio A. Schreiber database distribuiti 31
UNA BASE DI DATI DISTRIBUITAUNA BASE DI DATI DISTRIBUITA
E’ UN INSIEME DI FILE, MEMORIZZATI IN NODI
DIVERSI DI UN SISTEMA DISTRIBUITO, CHE
SONO LOGICAMENTE CORRELATI O DA
RELAZIONI FUNZIONALI O PERCHE’ COPIE
MULTIPLE DI UNO STESSO FILE, IN MODO DA
COSTITUIRE UN’UNICA COLLEZIONE DI DATI
E’ UN INSIEME DI FILE, MEMORIZZATI IN NODI
DIVERSI DI UN SISTEMA DISTRIBUITO, CHE
SONO LOGICAMENTE CORRELATILOGICAMENTE CORRELATI O DA
RELAZIONI FUNZIONALI O PERCHE’ COPIE
MULTIPLE DI UNO STESSO FILE, IN MODO DA
COSTITUIRE UNUN’’UNICA COLLEZIONE DI DATIUNICA COLLEZIONE DI DATI
Fabio A. Schreiber database distribuiti 32
UNA BASE DI DATI DISTRIBUITA ...UNA BASE DI DATI DISTRIBUITA ...
• E’ UNA BASE DI DATI– DEVE ESISTERE UN MODO INTEGRATO PER ACCEDERE AI
DATI– DEVE ESSERE PROTETTA CONTRO INCONSISTENZE E
GUASTI IN MODO DA GARANTIRE L’INTEGRITA’ DEI DATI
• E’ DISTRIBUITA– LA DISTRIBUZIONE FISICA DEI DATI DEVE ESSERE
TRASPARENTE ALL’UTENTE FINALE
Fabio A. Schreiber database distribuiti 33
ALCUNI PROBLEMI DI PROGETTOALCUNI PROBLEMI DI PROGETTO
• ARCHITETTURA GENERALE DEL SISTEMA– PROGETTO EX-NOVO
– RISTRUTTURAZIONE DI SISTEMI ESISTENTI
– ETEROGENEITA’ DEI SISTEMI E DEI DATI
• FRAMMENTAZIONE DELLE RELAZIONI LOGICHE
• REPLICAZIONE E ALLOCAZIONE– QUANTE COPIE E DOVE
• ACCESSO ED ELABORAZIONE DELLE RELAZIONI
• GARANZIA DI INTEGRITA’ E PRIVATEZZA
• GARANZIA DI AFFIDABILITA’
Fabio A. Schreiber database distribuiti 34
INDIPENDENZA DEI DATIINDIPENDENZA DEI DATI
IL CONCETTO DI INDIPENDENZA DEI DATI VIENE ESTESOPER COMPRENDERE I SEGUENTI CASI
• LOGICANECESSITA’ DELL’AMMINISTRATORE DELLA BD DI ADATTARELO SCHEMA GLOBALE AI REQUISITI DI UN INSIEME DI UTENTI MOLTO GRANDE, ETEROGENEO E DINAMICO
• FISICAIMMUNITA’ AI CAMBIAMENTI - ANCHE DINAMICI - DI CONFIGU-RAZIONE DELLA RETE (PRESENZA O ASSENZA DI ALCUNI SITI)
Fabio A. Schreiber database distribuiti 35
DDBMS
LDBMS
DDBMS INTEGRATODDBMS INTEGRATO
schema di allocazione
schema concettualeglobale
SE1 schemi esterniSE2
schemi concettualilocali
SCL m
SIL m
schema diframmentazione
SML mschemi di
mappaggio
locali
indipendentidal
sito
schemi internilocali
SML 2SML 1
SCL 1 SCL 2
SIL 1 SIL 2
Fabio A. Schreiber database distribuiti 36
DDBMS
LDBMS
DDSS FEDERATODDSS FEDERATO
schema di allocazione
schema concettualeglobale
SE1 schemi esterniSE2
schemi concettualilocali
SCL m
SIL m
schema diframmentazione
SML mschemi di
mappaggio
locali
indipendentidal
sito
schemi internilocali
SML 2SML 1
SCL 2
SIL 2
SCL 1
SIL 1
SEn
SEL1
Fabio A. Schreiber database distribuiti 37
• ANALOGO ALL’INTEGRAZIONE DI VIEW
• CONFLITTI STRUTTURALI (schemi differenti)
• CONFLITTI SEMANTICI (anche con schemi uguali)– AMBIGUITA’
• OMONIMIA (STESSO NOME, MA SIGNIFICATO DIVERSO)
• SINONIMIA (NOME DIVERSO, MA STESSO SIGNIFICATO)
– FORMATO (NUMERICO ALFANUMERICO, ...)
– AGGREGAZIONI (PART-OF, …)
– SEMANTICA PROPRIA DEL DATO (DIFFERENZA DI UNITA’ DI MISURA, DI VALUTAZIONE, DI GRANULARITA’, …)
• AGGIORNAMENTO SPESSO RISTRETTO ALL’ATTIVITA’LOCALE
PROGETTO DI SCHEMA GLOBALEPROGETTO DI SCHEMA GLOBALE
Fabio A. Schreiber database distribuiti 38
RISOLUZIONE DEI CONFLITTI SEMANTICIRISOLUZIONE DEI CONFLITTI SEMANTICI
• RISTRUTTURAZIONE DELLE BASI DI DATI LOCALI (POCO PROPONIBILE)
• AGGIUNTA ESPLICITA NEGLI SCHEMI DI INFORMAZIONI SULLA SEMANTICA DEI SINGOLI DATI IN MODO DA PERMETTERE ALLE PROCEDURE APPLICATIVE DI FARVI FRONTE
• USO DI WRAPPER E MEDIATORI
Fabio A. Schreiber database distribuiti 39
FRAMMENTAZIONE DELLE RELAZIONE LOGICHE
FRAMMENTAZIONE DELLE RELAZIONE LOGICHE
• ORIZZONTALE– TUTTI I FRAMMENTI HANNO LO STESSO SCHEMA– L’ASSEGNAZIONE DELLE TUPLE AI FRAMMENTI AVVIENE IN
BASE AD UN PREDICATO DI SELEZIONE CHE CORRISPONDE AD UN CRITERIO DI DISTRIBUZIONE
– CONSENTE DI REALIZZARE SISTEMI NEI QUALI IL VALORE DI UN DATO DIPENDE DALLA SUA LOCAZIONE
• VERTICALE– OGNI FRAMMENTO HA UNO SCHEMA OTTENUTO PER
PROIEZIONE DALLO SCHEMA DELLA RELAZIONE GLOBALE• SCHEMI CON INTERSEZIONE NON NULLA
• SCHEMI DISGIUNTI
Fabio A. Schreiber database distribuiti 40
FRAMMENTAZIONE DELLE RELAZIONE LOGICHE
FRAMMENTAZIONE DELLE RELAZIONE LOGICHE
= + ORIZZONTALE
= + VERTICALE
= + DUPLICAZIONE
Fabio A. Schreiber database distribuiti 41
REPLICAZIONE DEI DATIREPLICAZIONE DEI DATI
• PERMANENZA
– LA COPIA DI UN ELEMENTO DI DATI (RELAZIONE O FRAMMENTO) E’ PERMANENTE SE EVOLVE NEL TEMPO SOTTO LA GESTIONE DEL DDBMS
– E’ INVECE TEMPORANEA SE ESSA VIENE CREATA SOLAMENTE PER QUALCHE OPERAZIONE SPECIFICA (IN UN’AREA DI LAVORO) E QUINDI VIENE CANCELLATA O RIGENERATA, SU RICHIESTA, A PARTIRE DALL’ORIGINALE
Fabio A. Schreiber database distribuiti 42
REPLICAZIONE DEI DATIREPLICAZIONE DEI DATI
• CONSISTENZA
– CONSISTENZA FORTECONSISTENZA FORTE (DIPENDENZA COMPLETA)IN OGNI ISTANTE OGNI COPIA DI CIASCUN ELEMENTO DI DATI DEVE AVERE IDENTICO VALORE
– CONSISTENZA DEBOLECONSISTENZA DEBOLE (DIPENDENZA RIDOTTA)GLI AGGIORNAMENTI APPORTATI AD UNA COPIA VENGONO PROPAGATI ALLE ALTRE IN MODO DIFFERITO
– INDIPENDENZAINDIPENDENZAGLI AGGIORNAMENTI SULLE DIVERSE COPIE SONO SCORRELATI (SPESSO USATA CON COPIE TEMPORANEE)
Fabio A. Schreiber database distribuiti 43
FRAMMENTAZIONE E REPLICAZIONEFRAMMENTAZIONE E REPLICAZIONE
RELAZIONE GLOBALE
FRAMMENTI
IMMAGINI FISICHE
RR
R
R
R
R
R
R
R
R
R
R
1
2
3
11
11
1
2
2
2
2
2
3
33
3
4
SITO 1
SITO 2
SITO 3
4
Fabio A. Schreiber database distribuiti 44
LIVELLI DI TRASPARENZALIVELLI DI TRASPARENZA
• ALLA FRAMMENTAZIONE– I PROGRAMMI APPLICATIVI FANNO RIFERIMENTO ALLE
RELAZIONI GLOBALI IGNORANDO LA FRAMMENTAZIONE
• ALLA ALLOCAZIONE– I PROGRAMMI APPLICATIVI SONO INDIPENDENTI DALLA
REPLICAZIONE E DALLAALLOCAZIONE FISICA DEI DATI, MA RISENTONO DI VARIAZIONI DELLO SCHEMA DI FRAMMENTAZIONE
• AL MAPPING LOCALE– L’APPLICAZIONE USA I NOMI GLOBALI DEGLI OGGETTI
(FRAMMENTI DI DATI O PRIMITIVE DI ACCESSO), MA DEVE SPECIFICARE IL SITO DI RESIDENZA
• NESSUNA TRASPARENZA– IL PROGRAMMATORE APPLICATIVO DEVE CODIFICARE I
SINGOLI MODULI DI ACCESSO PER I VARI DBMS, CHE SI LIMITANO AD ATTIVARE I MODULI REMOTI
Fabio A. Schreiber database distribuiti 45
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza alla frammentazione
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza alla frammentazione
DDBMSSITO 1
SITO 2
SITO 3
SUPPLIER 2
SUPPLIER 2
SUPPLIER 1read (terminal,$SNUM);
select NAME into $NAMEfrom SUPPLIERwhere SNUM=$SNUM;
write (terminal, $SNAME)
Fabio A. Schreiber database distribuiti 46
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza all’allocazione
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza all’allocazione
DDBMSSITO 1
SITO 2
SITO 3
SUPPLIER 2
SUPPLIER 2
SUPPLIER 1read (terminal,$SNUM);
select NAME into $NAMEfrom SUPPLIER_1where SNUM=$SNUM;
if not #FOUND thenselect NAME into $NAMEfrom SUPPLIER_2where SNUM=$SNUM;
write (terminal, $SNAME)OR
Fabio A. Schreiber database distribuiti 47
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza al mapping locale
LIVELLI DI TRASPARENZA: INTERROGAZIONI
trasparenza al mapping locale
DDBMSSITO 1
SITO 3SUPPLIER 2
SUPPLIER 1
read (terminal,$SNUM);select NAME into $NAMEfrom SUPPLIER_1 AT SITE_1where SNUM=$SNUM;
if not #FOUND thenselect NAME into $NAMEfrom SUPPLIER 2_AT SITE_3where SNUM=$SNUM
write (terminal, $SNAME)
SITO 2SUPPLIER 2
Fabio A. Schreiber database distribuiti 48
LIVELLI DI TRASPARENZA: INTERROGAZIONI
nessuna trasparenza
LIVELLI DI TRASPARENZA: INTERROGAZIONI
nessuna trasparenza
DDBMS
DBMSlocale
(Codasyl)
DBMSlocale(IMS)
DATABASECodasyl
DATABASEIMS
SUPPINQRY:read (terminal, $SNUM);
execute $SUPIMS ($SNUM, $FOUND, $NAME) at site 1;if not $FOUND then
execute $SUPCODASYL ($SNUM, $FOUND, $NAME) at site 3;write (terminal, $NAME)
SUPIMS (SNUM, FOUND, NAME)get unique SUPPLIER_SEGMENT…………….
SUPCODASYL (SNUM, FOUND, NAME)find SUPLIER_RECORD……………..
Fabio A. Schreiber database distribuiti 49
LIVELLI DI TRASPARENZA: AGGIORNAMENTO
LIVELLI DI TRASPARENZA: AGGIORNAMENTO
• PER LA TRASPARENZA ALLA FRAMMENTAZIONE– SE SI AGGIORNA UN ATTRIBUTO CHE COMPARE IN UN
PREDICATO DI FRAMMENTAZIONE ORIZZONTALE, OCCORRE SPOSTARE LA TUPLA DA UN FRAMMENTO AD UN ALTRO
• PER LA TRASPARENZA ALL’ ALLOCAZIONE E ALLA REPLICAZIONE
– DEVONO ESSERE AGGIORNATE TUTTE LE COPIE
Fabio A. Schreiber database distribuiti 50
MULTIDATABASEMULTIDATABASE
SE1 schemi esterniSE2
schemi concettualilocali
SCL m
SIL mschemi interni
locali
SCL 2
SIL 2
LDBMS
SCL 1
SIL 1
SEn
CATALOGO DI RETE
Fabio A. Schreiber database distribuiti 51
MULTIBASEMULTIBASE
LOCAL
DATABASE
INTERFACE
HOST
DBMS
LOCAL
DATABASEINTERFACE
HOST
DBMS
LOCAL SCHEMA
(DAPLEX)
LOCAL SCHEMA
(DAPLEX)
LOCAL HOST
SCHEMA AND
DATA
LOCAL HOSTSCHEMA AND
DATA
AUXILIARYSCHEMA
(DAPLEX)
AUXILIARY
DATABASE
GLOBALDATA
MANAGERGLOBAL SCHEMA
(DAPLEX)
GLOBALQUERY RESULT
USERDATA
QUERY
Fabio A. Schreiber database distribuiti 52
MEDIATORIMEDIATORI
UN MEDIATORE E’ UN MODULO SOFTWARE (A LIVELLO 7 ISO-OSI) CHE UTILIZZA LA CONOSCENZA IMPLICITA DI ALCUNI INSIEMI O SOTTOINSIEMI DI DATI PER CREARE INFORMAZIONE PER UN LIVELLO SUPERIORE DI APPLICAZIONI (WIEDERHOLD)
LA SUA FUNZIONE PRINCIPALE E’ LA FUSIONE DI OGGETTI– RAGGRUPPARE LE INFORMAZIONI SULLA STESSA ENTITA’
DEL MONDO REALE– RIMUOVERE LE RIDONDANZE TRA LE DIVERSE SORGENTI– RISOLVERE LE INCONSISTENZE TRA LE DIVERSE SORGENTI
IL MEDIATORE OPERA DURANTE L’ESECUZIONE DI UNA INTERROGAZIONE E LA SUA FUNZIONE SI ESAURISCE CON ESSA (NON PRODUCE MODIFICHE PERMANENTI SUI DATI)
Fabio A. Schreiber database distribuiti 53
MEDIATORIMEDIATORI
SORGENTI DI DATI i-esima
MEDIATOREWORKSTATION
UTENTE(APPLICAZIONI)
DATIMECCANISMI DI
ASTRAZIONE(ONTOLOGIE)
CONOSCENZA
INTERROGAZIONEINTERROGAZIONE
RIORGANIZZATA PERLA SORGENTE i-esima
RISPOSTE GREZZE RISPOSTE UTILI
WR
AP
PE
Ri-e
sim
o
EVENTI DI TRIGGER ISPEZIONIEVENTI DI TRIGGER
Fabio A. Schreiber database distribuiti 54
WRAPPERWRAPPER
CONVERTONO LE INTERROGAZIONI IN UNO O PIU’COMANDI/INTERROGAZIONI COMPRENSIBILI DALLA SPECIFICA SORGENTE
POSSONO ESTENDERE LA POSSIBILITA’ DI INTERROGAZIONE DI UNA PARTICOLARE SORGENTE
CONVERTONO I RISULTATI DAL FORMATO NATIVO AD UN FORMATO COMPRENSIBILE ALL’APPLICAZIONE
LA LORO SCRITTURA COMPORTA UN NOTEVOLE SFORZO REALIZZATIVO, MA ESISTONO STRUMENTI CHE AGEVOLANO IL LAVORO (TSIMMIS TOOLKIT)
Fabio A. Schreiber database distribuiti 55
WRAPPERWRAPPER
…S. Abiteboul, P.Buneman, D.Suciu
Data on the Web
...R. Elmasri,S. Navathe
Database Systems
...A. TannenbaumComputer Networks
...J. GrahamThe HTML Sourcebook
EditorAuthorBookTitle
TABELLE DI DATABASE (O DOCUMENTI XML)PAGINA HTML
WRAPPER
Da: G. Mecca EDBT 2002Da: G. Mecca EDBT 2002
Fabio A. Schreiber database distribuiti 56
ESEMPIO DI CONFLITTO SEMANTICOESEMPIO DI CONFLITTO SEMANTICOCONTESTO C1: • VALORI MONETARI IN VALUTA DI ORIGINE• VALORI MONETARI IN SCALA 1:1 TRANNE
LO YEN CHE E’ IN SCALA 1:1000
DITTA FATTURATO PAESE
IBM 1 000 000 USA
NTT 1 000 000 JPN
r1
PAESE VALUTA
USA USD
JPN JPY
r4
CONTESTO C2:• VALORI MONETARI IN USD IN SCALA 1:1
DA VALUTA A VALUTA TASSO
USD JPY 104.0
JPY USD .0096
r3
DITTA SPESE
IBM 1 500 000
NTT 5 000 000
r2
select r1.ditta, r1.fatturatofrom r1, r2where r1.ditta = r2.dittaand r1.fatturato > r2.spese
SCALA
ALL 1:1
JPY 1:1000
VALUTA
Fabio A. Schreiber database distribuiti 57
ESEMPIO DI ARCHITETTURA A MEDIATORI(TSIMMIS)
ESEMPIO DI ARCHITETTURA A MEDIATORI(TSIMMIS)
SORGENTE DI
DATI 1
(RDBMS)
SORGENTE DI DATI 2
(LOTUS NOTES)
SORGENTE DI
DATI 3(WWW)
WRAPPER 1 WRAPPER 2 WRAPPER 3
MEDIATORE 1 MEDIATORE 2
APPLICAZIONE 1 APPLICAZIONE 2
Fabio A. Schreiber database distribuiti 58
ESEMPIO DI ARCHITETTURA MEDIATA CON SCHEMA GLOBALE
ESEMPIO DI ARCHITETTURA MEDIATA CON SCHEMA GLOBALE
IPOTESIIPOTESI• LE SORGENTI CONTENGONO I DATI• LO SCHEMA GLOBALE (SG) FORNISCE UNA VISIONE
– VIRTUALE– INTEGRATA– RICONCILIATA
DELLE SORGENTI
APPROCCIAPPROCCI– GAVGAV (Global As View)–– LAVLAV (Local As View)– GLAVGLAV (Global And Local As View)
Fabio A. Schreiber database distribuiti 59
APPROCCI ALL’INTEGRAZIONE DI SCHEMIAPPROCCI ALL’INTEGRAZIONE DI SCHEMI
• GAVGAV– LO SG E’ ESPRESSO IN TERMINI DELLE SORGENTI– VA BENE SE LE SORGENTI SONO STABILI– E’ ONEROSO INSERIRE UNA NUOVA SORGENTE
• LAVLAV– LO SG E’ SPECIFICATO INDIPENDENTEMENTE DALLE SORGENT I– LA RELAZIONE TRA SORGENTI E SG E’ STABILITA DEFINEND O OGNI
SORGENTE COME VIEW SULLO SG– VA BENE SE LO SG E’ DEFINITO SU UN MODELLO “A PRIORI ”– E’ FACILE INSERIRE NUOVE SORGENTI– COMPLICA L’ESECUZIONE DELLE INTERROGAZIONI
• GLAVGLAV– LA RELAZIONE TRA SORGENTI E SCHEMA GLOBALE E’ STABIL ITA
ATTRAVERSO UN INSIEME DI VIEW• ALCUNE SULLO SG• ALCUNE SULLE STESSE SORGENTI
Fabio A. Schreiber database distribuiti 60
SERVIZI FORNITI DAL SISTEMA DI INTEGRAZIONE
SERVIZI FORNITI DAL SISTEMA DI INTEGRAZIONE
INDIPENDENTEMENTE DAL TIPO DI MAPPING
• RISPONDE ALLE INTERROGAZIONI POSTE SULLO SCHEMA GLOBALE
• RICHIEDE UN PASSO DI RIFORMULAZIONE DELLE INTERROGAZIONI (COMUNQUE ESPRESSE DALL’UTENTE) IN TERMINI DI INTERROGAZIONI SULLE SORGENTI
Fabio A. Schreiber database distribuiti 61
CATALOGO DI RETECATALOGO DI RETE
CATALOGO
CATALOGO
CATALOGO
COMPLETAMENTE REPLICATO
• IMMEDIATEZZA DI ACCESSO
• OCCUPAZIONE DI DISCO• CONSISTENZA DEI DATI
COMPLETAMENTE ASSENTE
• NECESSITA’ DI BROADCASTING
• OVERHEAD DI ACCESSO
Fabio A. Schreiber database distribuiti 62
CATALOGO DI RETECATALOGO DI RETE
CATALOGO
COMPLETAMENTE CENTRALIZZATO
• COLLO DI BOTTIGLIA PER L’ACCESSO
• OCCUPAZIONE DI DISCO• CONSISTENZA DEI DATI
PARZIALMENTE REPLICATO
• BUON COMPROMESSO TRA
OVERHEAD E EFFICIENZA IN ACCESSO
CATALOGO
LOCALE 2
CATALOGO
MASTER
CATALOGO
LOCALE 1
Fabio A. Schreiber database distribuiti 63
ARCHITETTURA COMPLESSIVAARCHITETTURA COMPLESSIVA
LD
BM
S
INT
ER
FA
CC
IA
TR
AS
PO
RT
O
SISTEMA OPERATIVO
LD
BM
S
INT
ER
FA
CC
IA
TR
AS
PO
RT
O
SISTEMA OPERATIVO
LD
BM
S
INT
ER
FA
CC
IA
TR
AS
PO
RT
O
SISTEMA OPERATIVO
RETE DI TRASMISSIONE DATI
DB LOCALE
CATALOGO
DB LOCALE
CATALOGO
DB LOCALE
CATALOGO
Fabio A. Schreiber database distribuiti 64
MODELLO PER SERVIZI DI INFORMAZIONI DISTRIBUITE ED ETEROGENEE
MODELLO PER SERVIZI DI INFORMAZIONI DISTRIBUITE ED ETEROGENEE
APPLICAZIONI
ARCHITETTURADEL SI
INFRASTRUTTURADEL SI
SUPPORTO DATI SUPPORTO DI COMUNICAZIONE
DW, EDI, INTRANET, ...
DBMS, browser HTML, ... TCP/IP, ...
DISTRIBUZIONE GEOGRAFICA
(CORBA, HTTP, …)
STRUTTURE DATI E LINGUAGGI
ETEROGENEI (ODBC, JDBC,…)
RAPPRESENTAZIONE ATTRIBUTI E
SEMANTICA ETEROGENEI
(MEDIATORI)
SCHEMI ETEROGENEI
(UML, XML, …)
IDENTIFICAZIONE DEGLI OGGETTI
RICONCILIAZIONE DEI VALORI
DEI DATI