basi di dati federate - Dipartimento di Informatica e Sistemistica

Dalle basi di dati distribuite alle
BASI DI DATI FEDERATE
Antonella Poggi
Dipartimento di Informatica e Sistemistica “Antonio Ruberti”
Università di Roma “La Sapienza”
Anno Accademico 2005/2006
http://www.dis.uniroma1.it/∼lenzerini/didattica/gestionedatisistemiinformativi
Basi di dati federate
1.
Richiami sulle basi di dati distribuite
2.
Caratteristiche delle basi di dati federate
3.
•
Introduzione
•
Contesto
•
Confronto
Presentazione di un prodotto commerciale (IBM DB2
Information Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 2
Basi di dati federate
1.
Richiami sulle basi di dati distribuite
2.
Caratteristiche delle basi di dati federate
3.
•
Introduzione
•
Contesto
•
Confronto
Presentazione di un prodotto commerciale (IBM DB2
Information Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 3
Cos’e’ una base di dati distribuita?
Sito 1
Sito 2
Sito 5
Rete di
comunicazione
Sito 3
Sito 4
¾ Dati fisicamente distribuiti (eventualmente replicati) tra diversi
siti collegati per mezzo di una rete di comunicazione
¾ La stessa base di dati e’ logicamente acceduta in ogni sito
→ ogni sito ospita un DBMS completamente funzionale
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 4
Contesto
¾ Unica struttura di grandi dimensioni divisa in unita’ piu’ piccole
ƒ banca
ƒ imprese
ƒ ...
¾ La stessa base di dati e’ vista e acceduta in ogni sito
¾ Progettazione TOP-DOWN
ƒ Il progetto di una base di dati e della sua distribuzione precede
l’effettivo funzionamento di ogni sito (progettazione from scratch)
¾ Ogni sito (sotto-sistema) ospita un DBMS “full-fledged” (i.e.
completamente funzionale)
ƒ insieme omogeneo di DBMS
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 5
Vantaggi
¾ Trasparenza
ƒ distribuzione
ƒ frammentazione
ƒ replicazione
¾ Maggiore affidabilita’
¾ Migliori performance
¾ Piu’ facilmente estendibile
ƒ appropriato per lo sviluppo di economie di scala
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 6
Limiti
¾ Progettazione TOP-DOWN
¾ Estensione richiede una rielaborazione del
progetto della base di dati
¾ Autonomia limitata
ƒ sotto-sistemi dello stesso tipo
¾ Problemi della replicazione, frammentazione
ƒ base di dati deve essere consistente
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 7
Basi di dati federate
1.
Richiami sulle basi di dati distribuite
2.
Caratteristiche delle basi di dati federate
3.
•
Introduzione
•
Contesto
•
Confronto
Prodotto commerciale (IBM DB2 Information Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 8
Cos’e’ una base di dati federata?
DATABASE
FEDERATO
Sito 1
DBMS Oracle
Sito 2
Rete di
comunicazione
Fogli Excel
Sito 5
Antonella Poggi
DBMS MySql
File XML
Sito 4
Gestione dei dati nei Sistemi Informativi
Sito 3
Basi di dati federate - 9
Caratteristiche
¾ Base di dati “federata”
ƒ regole di comunicazione stabilite tra un server
(database federato) ed un client (sorgente di dati)
per la condivisione dei dati
ƒ ogni sorgente gestisce in maniera indipendente e
autonoma i propri dati
¾ Trasparenza
ƒ distribuzione
ƒ eterogeneita’
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 10
Contesto
¾ Sistemi gerarchici di strutture indipendenti e
autonome
ƒ Associazione Bancaria Italiana ABI
ƒ Banca d’Italia (relazione di fine anno
sull’andamento sistema bancario)
ƒ ministero della sanita’ e strutture sanitarie locali
ƒ portali....
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 11
Architettura di una base di dati
federata
DBMS
FILE SYSTEM
ESTERNO
WRAPPERS
DBMS
FILE XML FILE EXCEL
FILE XML FILE EXCEL
¾ Il database federato e’ costituito da:
ƒ un DBMS che gestisce i dati e ne permette l’interrogazione
ƒ un insieme di wrappers: moduli software che permettono l’accesso
da parte del DBMS di sorgenti dati eterogenee
Trasparenza: l’utente vede un unico database che astrae dalle
diverse collezioni di dati!
Il database federato ha un unico punto di accesso!
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 12
Problemi di integrita’ dei dati
¾ Gestione delle transazioni
ƒ Cosa succede se una transazione fallisce in una sorgente
esterna?
¾ Gestione della concorrenza
ƒ Cosa succede se due transazioni vengono eseguite
contemporaneamente sulla stessa sorgente da parte del
database federato e di un altro sistema qualsiasi?
ƒ Ogni sorgente adotta propri algoritmi per la gestione della
concorrenza...
Problemi che devono essere risolti dalle applicazioni
(tool by tool)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 13
Confronto - Similitudini
¾ Dati distribuiti tra diversi siti per mezzo di una
rete di comunicazione
¾ Trasparenza rispetto alla locazione fisica dei
dati
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 14
Confronto - Differenze
Basi di dati distribuite
¾ unica base di dati logica, la stessa
accessibile da ogni sito
¾ ogni sito ospita un DBMS fullfledged
¾ unico modello di dati
¾ sotto-sistemi omogenei
¾ replicazione controllata dal sistema
¾ gestione delle transazioni e della
concorrenza
¾ regole di condivisione di dati tra tutti
i sotto-sistemi
¾ progetto TOP-DOWN
¾ estensione richiede rielaborazione
del progetto
Antonella Poggi
Basi di dati federate
¾ unica base di dati logica, accessibile
da un unico sito
¾ ogni sito ospita una collezione di
dati qualsiasi (files, DBMS,...)
¾ autonomia rispetto al modello di dati
e alle strutture di dati
¾ sorgenti eterogenee
¾ replicazione non controllata
¾ gestione delle transazioni e della
concorrenza non previste
¾ regole di condivisione di dati tra
server e client
¾ progetto BOTTOM-UP
ƒ
sorgenti esistono a priori
¾ estensione immediata
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 15
Osservazioni
¾ Ad oggi e’ facile comprare un sistema di
gestione di basi di dati distribuite
ƒ tecnologica consolidata
¾ Esistono ancora pochi recenti tool
commerciali per il data federation
ƒ IBM, Oracle
Ci sono ancora molti problemi da risolvere!
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 16
Basi di dati federate
1.
Richiami sulle basi di dati distribuite
2.
Caratteristiche delle basi di dati federate
3.
•
Introduzione
•
Contesto
•
Confronto
Prodotto commerciale (IBM DB2 Information Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 17
DB2 Information Integrator (DB2II)
¾ Prodotto commerciale IBM per la federazione
di dati proveniente da sorgenti eterogenee,
autonome, indipendenti
ƒ Prima: tool da integrare al DBMS IBM DB2
Universal DataBase UDB
ƒ Oggi: con il server IBM per applicazioni Web
WEBSPHERE
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 18
Architettura di DB2II
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 19
NICKNAME
NICKNAME
NICKNAME
NICKNAME
CATALOGO
GLOBALE
Antonella Poggi
SERVER SERVER SERVER SERVER
NICKNAME
DBMS ORACLE
Mapping
tra unità
logiche
SERVER
NICKNAME
WRAPPER
EXCEL
Tabelle
federate
WRAPPER
XML
Tabelle
locali
WRAPPER
ORACLE
Sistema federato in DB2II
Gestione dei dati nei Sistemi Informativi
SITO 2
DBMS ORACLE
FOGLIO
EXCEL
SITO 3
FOGLIO
EXCEL
FOGLIO
XML
SITO 4
Basi di dati federate - 20
Componenti del sistema federato di
DB2II (1)
¾ wrapper: libreria che permette l'accesso a particolari
tipi di sorgenti di dati come Oracle, Sybase, Web
Services, etc.
ƒ Contiene informazioni sulle caratteristiche di ogni tipo di
sorgente
¾ server: rappresenta una specifica sorgente di dati in
un certo sito il cui accesso avviene attraverso il
wrapper appropriato
¾ nickname: alias locale per un’unità logica contenente
dati (es. tabella di un database) di un client remoto
ƒ un nickname per ogni unità logica remota che si vuole
rendere accessibile
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 21
Componenti del sistema federato di
DB2II (2)
¾ user mapping: mapping tra un identicativo e una password di
un utente locale che accede al server federato DB2, e un
identificativo e una password di un utente remoto (se necessario
per la connessione alla sorgente remota)
¾ data type mapping: mapping tra i tipi di dati delle sorgenti e
quelli previsti da DB2
ƒ Ci sono dei data type mapping di default definiti nella libreria
wrapper
ƒ Per sorgenti relazionali puo’ essere necessario definirne degli altri
¾ function mapping: mapping tra le funzioni remote e funzioni
costruite in DB2
ƒ Ci sono dei function mapping di default definiti nella libreria wrapper
ƒ Per sorgenti relazionali, si possono definire dei function mapping
quando si vuole usare una funzione della sorgente che non e’
riconosciuta dal sistema federato
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 22
Tipi di sorgenti supportati
¾ DBMS relazionali: Oracle, MySql
ƒ Nickname <-> Tabella
ƒ Supportano updates
¾ File Excel
ƒ Nickname <-> File (eventualmente sotto-tabella)
ƒ Non supportano gli updates
¾ Flat file
ƒ Nickname <-> File
ƒ Non supportano gli updates
¾ File XML
ƒ Nickname <-> File + XPath queries
ƒ Non supportano gli updates
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 23
Esempio: sorgenti relazionali
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 24
Caratteristiche principali
¾
Query processing ottimizzato in base a:
ƒ informazioni nel catalogo globale sull’intero sistema federato
ƒ informazioni contenute nei wrapper
in base all’analisi della sorgente, il sistema federato puo’ decidere di
fare eseguire l’esecuzione di un comando SQL alla sorgente
(pushdown) o di eseguirne parte localmente (compensazione)
¾ Query elaborate come se le sorgenti fossero delle normali tabelle
relazionali
ƒ si ottiene in questo modo che il sistema federato rende accessibili sia
dati relazionali, sia dati non relazionali (locali o remoti)
¾
Mapping tra unita’ logiche remote e unita’ logiche federate
ƒ si perde l’indipendenza logica!
¾ Nessuna gestione della concorrenza
¾ Solo alcune sorgenti permettono la gestione delle transazioni
(cioe’ se una transazione fallisce, avvertono DB2II in maniera tale che
possa procedere con l’eventuale recovery)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 25
Domani vedremo come costruire una
base di dati federata con DB2II....