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 2006/2007
http://www.dis.uniroma1.it/∼lenzerini/didattica/gestionedatisistemiinformativi
Basi di dati federate
1. Caratteristiche delle basi di dati federate
•
Introduzione
•
Architettura
•
Discussione (vantaggi, limiti, problemi)
2. 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. Caratteristiche delle basi di dati federate
•
Introduzione
•
Architettura
•
Discussione (vantaggi, limiti, problemi)
2. 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 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 - 4
Caratteristiche principali
¾ Dati distribuiti tra diversi siti per mezzo di una rete di
comunicazione
¾ Unica base di dati logica
ƒ accessibile da un unico sito
ƒ virtuale
¾ “Federata”
ƒ regole di comunicazione stabilite tra un server (database federato)
ed un client (sorgente di dati) per la condivisione dei dati
• specifica di una relazione intensionale tra basi di dati federata e
sorgente
ƒ ogni sorgente gestisce in maniera indipendente e autonoma i propri
dati
• ospita collezione di dati di tipo qualsiasi (files, DBMS,...)
• estensione dei dati della sorgente puo’ variare
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 5
Contesti di utilizzo
¾ Sistemi gerarchici di strutture indipendenti e
autonome
¾ Almeno due possibili contesti
ƒ Federazione “inter-organization”
• Associazione Bancaria Italiana ABI
• Banca d’Italia (relazione di fine anno sull’andamento sistema
bancario)
• Ministero della sanita’ e strutture sanitarie locali
• Portali Web
• …
ƒ Federazione “intra-organization”
• Enterprise Information Systems (EIS)
• ...
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 6
Basi di dati federate
1. Caratteristiche delle basi di dati federate
•
Introduzione
•
Architettura
•
Discussione (vantaggi, problemi)
2. Prodotto commerciale (IBM DB2 Information
Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 7
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 - 8
Basi di dati federate
1. Caratteristiche delle basi di dati federate
•
Introduzione
•
Architettura
•
Discussione (vantaggi, limiti, problemi)
2. Prodotto commerciale (IBM DB2 Information
Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 9
Vantaggi
¾ Integrazione “on-the-fly” (anche detta “on demand”)
ƒ nessuna materializzazione prevista a priori
¾ Trasparenza
ƒ rispetto alla distribuzione dei dati, ovvero alla locazione fisica dei
dati
ƒ rispetto all’eterogeneita’ dei dati, ovvero al modello e alla struttura
dei dati nella sorgente
¾ Autonomia delle sorgenti rispetto al modello di dati e alle
strutture di dati della base di dati federata
¾ Autonomia della base di federata rispetto al modello di dati
¾ Progetto BOTTOM-UP
ƒ sorgenti esistono a priori
¾ Estensione immediata
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 10
Limiti
¾ Dipendenza logica
ƒ lo schema logico della base di dati federata
dipende dallo schema/struttura delle sorgenti
→ non puo’ essere stabilito a priori, in maniera
indipendente
→specifica dello schema “procedurale” (vs.
dichiarativa)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 11
Problemi di integrita’ dei dati (1)
¾ Gestione della risoluzione di entita’ (“entity resolution” problem)
ƒ Ogni sorgente e’ indipendente dalle altre e dalla base di dati
federata
• come si stabilisce che dati provenienti da sorgenti diverse si riferiscono
alla stessa entita’ della basi di dati federata?
9 e.g. “M. Lenzerini” e “Maurizio Lenzerini” rappresentano entrambi
il nome dello stesso individuo
• come si decide che dati provenienti da sorgenti diverse (e.g.
sintatticamente uguali) si riferiscono a entita’ diverse della base di dati
federata?
9 e.g. “Mario Rossi” (studente), e “Mario Rossi” (professore)
rappresentano il nome di due individui distinti
¾ Replicazione di dati non controllata
ƒ Non e’ previsto alcun uso “controllato” della replicazione al fine di
ottimizzare le prestazioni del sistema
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 12
Problemi di integrita’ dei dati (2)
¾ 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
Osservazioni
¾ Esistono ad oggi pochi recenti tool
commerciali per il data federation
ƒ IBM, Oracle
ƒ nessun tool free/open source
Come discusso, ci sono ancora molti problemi
da risolvere!
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 14
Basi di dati federate
1. Caratteristiche delle basi di dati federate
•
Introduzione
•
Architettura
•
Discussione (vantaggi, limiti, problemi)
2. Prodotto commerciale (IBM DB2 Information
Integrator)
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 15
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 - 16
Architettura di DB2II
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 17
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 - 18
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 - 19
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 - 20
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 - 21
Esempio: sorgenti relazionali
Antonella Poggi
Gestione dei dati nei Sistemi Informativi
Basi di dati federate - 22
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 - 23