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