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....