Fonti di riferimento Basi di Dati – Complementi 2006 2007 3.1. Sistemi di Basi di dati distribuite, eterogenee, autonome – generalita’ yQueste trasparenze parte 3 yBasi di Dati (Atzeni, Paraboschi, Torlone, ) yTamer-Ozsu, P. Valduriez, Principles of Distributed Database Systems, 1999 Prentice Hall Basi di Dati distribuite – @ Carlo Batini 2006 Finora …. Architettura di un DBMS centralizzato Posti di lavoro yFinora abbiamo trattato problematiche riguardanti i Sistemi di Gestione di basi di dati centralizzati yCioe’ caratterizzati da una architettura come nella prossima trasparenza …. Amministratore della Base dati Applicazioni Elaboratore Interrogazioni, Aggiornamenti, transazioni Comandi Data Description Language DBMS Basi di dati Basi di Dati distribuite – @ Carlo Batini 2006 L’ architettura dati di un DBMS centralizzato e’ stata definita dall’ente ANSI/SPARC ed e’ a tre livelli Schema esterno Schema esterno Schema esterno Schema logico (o concettuale) Schema fisico Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Le caratteristiche di un DBMS centralizzato sono … 1 yUnico schema logico, quindi unica semantica (almeno apparentemente, in realta’ spesso accade che si diano diversi significati agli stessi termini, ma cosa vuoi dire con “elegante”?) yUnica base di dati, quindi unico insieme di record interrogati e aggiornati da tutti gli utenti yÆ nessuna forma di eterogeneita’ concettuale yUnico schema fisico, quindi unica rappresentazione fisica dei dati yÆ nessuna distribuzione e nessuna eterogeneita’ fisica Basi di Dati distribuite – @ Carlo Batini 2006 1 Le caratteristiche di un DBMS centralizzato sono … 2 yUnico linguaggio di interrogazione, quindi unica modalita’ di accesso e selezione dei dati di interesse yUnico sistema di gestione, quindi unica modalita’ di accesso, aggiornamento e gestione per le transazioni e yUnica modalita’ di ripristino a fronte di guasti yUnico amministratotore dei dati yÆ nessuna autonomia gestionale Architettura di un sistema DB distribuito Posti di lavoro Basi dati locali Applicazioni Applicazioni Basi dati locali Nodo elaborativo Nodo elaborativo Applicazioni Basi dati locali Nodo elaborativo Basi di Dati distribuite – @ Carlo Batini 2006 Piano di lavoro per la parte sistemi di Basi di Dati Distribuiti Eterogenei Autonomi 1 Generalita’ sui sistemi di BD Distribuiti Eterogenei Autonomi (DEA) Parte 1 1.1 Esempio introduttivo 1.2 Classificazione dei sistemi di BD DEA y1.3.1 Criteri di classificazione y1.3.2 Tipologie di sistemi di BD distribuite Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Piano di lavoro per la parte sistemi di Basi di Dati Distribuiti Eterogenei Autonomi 2. I DBMS distribuiti (DDBMS) Parte 2 2.1 Proprieta’ e caratteristiche strutturali dei sistemi DDBMS 2.1.1 Trasparenza 2.1.2 Allocazione dei dati y2.2. Query processing e ottimizzazione interrogazioni nei DDBMS y2.3. Controllo di concorrenza e gestione del recovery nei DDBMS Basi di Dati distribuite – @ Carlo Batini 2006 Piano di lavoro per la parte sistemi di Basi di Dati Distribuiti Eterogenei Autonomi 3. Parallelismo e Basi di dati Replicate, 3.1. Parallelismo 3.2 Basi di dati Replicate 4. I Data Warehouse Basi di Dati distribuite – @ Carlo Batini 2006 1. Generalita’ sui sistemi di BD DEA Basi di Dati distribuite – @ Carlo Batini 2006 2 Primo esempio: base dati distribuita Passaggio, in una singola organizzazione, da base dati centralizzata a distribuita Due esempi introduttivi, di: 1. Base dati Distribuita e 2. Multidatabase Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Struttura della organizzazione Base Dati centralizzata Nodo 1 Roma Azienda di progettazione e vendita Sede di Roma Sede di Milano Rete AP Sede di Padova Unica base di dati, localizzata a Milano acceduta da tutti i nodi con transazioni centralizzate Nodo 2 Milano AP AP Application processing DP Data processing DP Basi di Dati distribuite – @ Carlo Batini 2006 Da base dati centralizzata a base dati distribuita Puo’ essere utile per esigenze di efficienza o affidabilita’ spostare o duplicare alcuni dati presso altri nodi …. Nodo 1 Roma Rete AP AP AP -Dati su: -Personale -Progettisti -Vendite - Dipartimenti - Progetti - Contratti - Vendite Basi di Dati distribuite – @ Carlo Batini 2006 Da base dati centralizzata a base dati distribuita …. frammentando la base di dati in frammenti, scelti ad es. sulla base degli accessi dai vari nodi Nodo 3 Padova Nodo 1 Roma AP AP Nodo 2 Milano Nodo 3 Padova Rete Nodo 3 Padova AP Nodo 2 Milano DP AP Basi di Dati distribuite – @ Carlo Batini 2006 DP Basi di Dati distribuite – @ Carlo Batini 2006 3 Da base dati centralizzata a base dati distribuita E spostando i frammenti nei vari nodi … Nodo 1 Roma Rete AP Da base dati centralizzata a base dati distribuita E spostando i frammenti nei vari nodi … Nodo 3 Padova Nodo 1 Roma AP AP Nodo 2 Milano Nodo 3 Padova Rete AP Nodo 2 Milano DP AP DP AP Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Base dati distribuita con DBMS distribuito Base dati distribuita con DBMS distribuito dati duplicati Rete Rete AP AP AP DP AP DP DP Nodo 3 Padova DP Nodo 3 Padova Nodo 1 Roma - Progettisti Roma - Dipartimenti Roma - Progetti Roma - Contratti Roma - Progettisti Milano + Roma - Personale vendite - Dati di vendita - Dipartimenti Milano - Progetti Milano - Contratti Milano AP AP Application processing DP Data processing Nodo 1 Roma - Contratti Padova - Dipendenti Padova DP Nodo 2 Milano Basi di Dati distribuite – @ Carlo Batini 2006 - Progettisti Roma - Dipartimenti Roma - Progetti Roma - Contratti Roma - Contratti Padova - Dipendenti Padova AP AP Application processing DP Data processing DP Nodo 2 Milano - Progettisti Milano + Roma - Personale vendite - Dati di vendita - Dipartimenti Milano - Progetti Milano - Contratti Milano Basi di Dati distribuite – @ Carlo Batini 2006 Percio’ yDistribuzione dei dati su tre nodi yParziale ridondanza dei dati – Progettisti Roma yNessuna eterogeneita’ concettuale yNessuna autonomia di gestione (amministratore dati unico) yPossibile eterogeneita’ fisica: ad es. se i progettisti Roma sono, come immaginabile, acceduti frequentemente in interrogazione a Roma, si possono aggiungere indici nella BD di Roma, mentre quella di Milano puo’ essere senza indici Basi di Dati distribuite – @ Carlo Batini 2006 Secondo esempio: multidatabase Il progetto “Servizi alle imprese” della PA italiana Basi di Dati distribuite – @ Carlo Batini 2006 4 Attuale modalita’ di interazione Interazioni tra amministrazioni pubbliche e imprese y Le imprese, in Italia circa 5.000.000, come in molti altri paesi devono interagire con molte amministrazioni per iscrizioni, variazioni, pagamento contributi, autorizzazioni, ecc. y In particolare, in Italia, con: y INPS per iscrizione, pagamenti contributi assicurativi y INAIL per iscrizione, assicurazioni e pratiche relative a incidenti sul lavoro y CAMERE DI COMMERCIO per iscrizione e altre procedure. Inps Variazione di indirizzo Inail Variazione di indirizzo Basi di Dati distribuite – @ Carlo Batini 2006 Con questa modalita’ i dati sono spesso eterogenei CamereC Variazione di indirizzo Basi di Dati distribuite – @ Carlo Batini 2006 Id I dati sono eterogenei Nome Tipo di attivita’ Citta’ Indirizzo La stessa impresa rappresentata nelle tre basi di dati di CC Camere di commercio INPS INAIL Basi di Dati distribuite – @ Carlo Batini 2006 Scopo del progetto: sostituire le notifiche di creazione e variazione che le imprese devono fare a Inps, Inail, Camere di commercio …… Inps Variazione di indirizzo Inail Variazione di indirizzo CamereC Variazione di indirizzo Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 ….attraverso un sistema condiviso .. Inps Camere C. Inail Architettura di cooperazione Basi di Dati distribuite – @ Carlo Batini 2006 5 … con una unica comunicazione … con una unica comunicazione amm.ne 1 amm.ne 1 Variazione di indirizzo amm.ne 2 amm.ne 3 Variazione di indirizzo amm.ne 2 Variazione di indirizzo Variazione di indirizzo Basi di Dati distribuite – @ Carlo Batini 2006 Gli aggiornamenti agli altri sistemi vengono fatti attraverso modalita’ asincrone e utilizzando uno schema comune (archivio indici) Basi di Dati distribuite – @ Carlo Batini 2006 Schemi concettuali di partenza (semplificati) Agente economico amm.ne 1 Anagrafe Dati previ denziali Anagrafe amm.ne 2 interna amm.ne 3 Indica una relazione Schema Inps interna Impresa Agente economico Servizio applicativo Servizio applicativo Archivio indici Dati assi curativi Impresa Struttura Architettura di cooperazione Impresa Schema Camere di Commercio Anagrafica Rete di trasporto Basi di Dati distribuite – @ Carlo Batini 2006 Schema concettuale dell’archivio indici (schema concettuale condiviso) Codice Inps Archivio indici Schema Inail Variazione Impresa Codice Inail Partita IVA Basi di Dati distribuite – @ Carlo Batini 2006 Scopi del progetto e decisioni “politiche” degli enti y I tre enti hanno accettato di mettere in comune e condividere gli aggiornamenti su creazione e variazione di impresa y Hanno pero’ voluto mantenere assoluta autonomia su tutti gli altri aspetti: – Schemi fisici – Modalita’ accesso – Gestione transazioni, che rimangono locali – Autorizzazioni e sicurezza – Recovery y Il nuovo sistema ha dunque – Alta autonomia – Eterogeneita’ di rappresentazione dei dati e dei linguaggi – Distribuzione dei dati su tre basi di dati –E’ dunque qualcosa di molto diverso da una base di dati distribuita Æ Multidatabase Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 6 Percio’ Confronto tra le due tipologie di sistemi yDistribuzione dei dati su tre nodi e su un nodo centrale per l’archivio indici yElevata eterogeneita’ concettuale yElevata eterogeneita’ dei dati yElevata autonomia di gestione (ogni ente prende autonomamente tutte le decisioni di progetto ed evoluzione del sistema, senza concordarle con altri enti) yNel nuovo sistema una qualche riduzione di autonomia y(ora i dati di variazione sono presi non dalla impresa, ma dalle camere di commercio) Sistema Distribuzione Eterogeneita’ Autonomia Base dati distribuita Multidatabase Basi di Dati distribuite – @ Carlo Batini 2006 Confronto tra le due tipologie di sistemi Basi di Dati distribuite – @ Carlo Batini 2006 Confronto tra le due tipologie di sistemi Sistema Distribuzione Eterogeneita’ Autonomia Sistema Distribuzione Eterogeneita’ Autonomia Base dati distribuita Alta Base dati distribuita Alta Multidatabase Alta Multidatabase Alta Basi di Dati distribuite – @ Carlo Batini 2006 Bassa Alta Basi di Dati distribuite – @ Carlo Batini 2006 Confronto tra le due tipologie di sistemi Sistema Distribuzione Eterogeneita’ Autonomia Base dati distribuita Alta Multidatabase Alta Bassa Bassa Alta Alta Basi di Dati distribuite – @ Carlo Batini 2006 2 Classificazione dei sistemi di BD distribuite 2.1 Criteri di classificazione 2.2 Tipologie di sistemi di BD distribuite Basi di Dati distribuite – @ Carlo Batini 2006 7 Modelli architetturali per DDBMS - 1 2.1 Criteri di classificazione yUn DBMS Distribuito Eterogeneo Autonomo e’ in generale una federazione di DBMS che collaborano nel fornire servizi di accesso ai dati con livelli di trasparenza definiti yPer trasparenza intendiamo la proprieta’ generale di nascondere le diversita’ tra basi di dati nei nodi del sistema, negli aspetti di distribuzione, eterogeneita’, autonomia. Basi di Dati distribuite – @ Carlo Batini 2006 Spinta alla creazione di basi di dati e sistemi informativi federati yL’esigenza di integrare a posteriori (o talvolta progettare fin dall’inizio) sistemi di tipo federato emerge in molti casi: – Evoluzione e/o integrazione di componenti applicativi sviluppati separatamente (per ragioni tecniche, organizzative o temporali) – cooperazione di processi in precedenza separati – cooperazione (o fusione) di enti o aziende indipendenti yed è stimolata dallo sviluppo delle reti Basi di Dati distribuite – @ Carlo Batini 2006 Autonomia Fa riferimento al grado di indipendenza tra i nodi Si distinguono diverse forme di autonomia yDi progetto: ogni nodo adotta un proprio modello dei dati e sistema di gestione delle transazioni yDi condivisione: ogni nodo sceglie la porzione di dati che intende condividere con altri nodi yDi esecuzione: ogni nodo decide in che modo eseguire le transazioni che gli vengono sottoposte Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Modelli architetturali per DDBMS yE’ possibile distinguere diverse modalita’ di federazione e diverse corrispondenti architetture yDimensioni ortogonali utili per la classificazione –Autonomia –Distribuzione –Eterogeneita’ Basi di Dati distribuite – @ Carlo Batini 2006 Tipi di autonomia y DBMS Strettamente integrati (nessuna autonomia) – Dati logicamente centralizzati – Un unico data manager responsabile delle transazioni applicative – I data manager locali non operano in modo autonomo y Semi-autonomi – Ogni data manager e’ autonomo ma partecipa a transazioni globali – Una parte dei dati e’ condivisa – Richiedono modifiche architetturali per poter fare parte della federazione y Totalmente autonomi (o Peer to Peer) yOgni DBMS lavora in completa autonomia ed e’ inconsapevole dell’esistenza degli altri Basi di Dati distribuite – @ Carlo Batini 2006 8 Eterogeneita’ Distribuzione yFa riferimento alla distribuzione dei dati. Si possono distinguere: yDistribuzione client/server, in cui la gestione dei dati e’ concentrata nei server, mentre i client forniscono l’ambiente applicativo e la presentazione. yDistribuzione peer-to-peer, in cui non c’e’ distinzione tra client e server, e tutti i nodi del sistema hanno identiche funzionalita’ DBMS yNessuna distribuzione yNel seguito non distingueremo tra distribuzione client/server e peer-to-peer yPuo’ riguardare yModello dei dati – Es. Relazionale, XML, Object Oriented yLinguaggio di query – Es. Diversi dialetti SQL, Query by Example, Linguaggi di interrogazione OO o XML yGestione delle transazioni – Es. Diversi protocolli per il concurrency control e per il recovery ySchema concettuale e schema logico – Es. Un concetto rappresentato in uno schema come attributo e in un altro come entita’ Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Tipologie di sistemi di BD distribuite Distribuzione 2.2 Tipologie di sistemi di BD DEA si Auto nomia no semi totally si Eterogeneità Basi di Dati distribuite – @ Carlo Batini 2006 Tipologie di sistemi di BD distribuite e collocazione dei due casi esaminati Caso 1 - Evoluzione del Sistema informativo della azienda Distribuzione Tipologie di sistemi di BD distribuite: tipi di sistemi Caso 2 - Evoluzione del sistema Inps Inail Camere si Auto nomia no semi Basi di Dati distribuite – @ Carlo Batini 2006 totally si Eterogeneità Sistemi Distribuiti federati eterogenei DBMS Distribuito Omogeneo (DDBMS) DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato Æ Data Warehouse si Eterogeneità Basi di Dati distribuite – @ Carlo Batini 2006 Sistemi multidatabase Distribuiti Sistemi DBMS federati Multidatabase federati Distribuiti Distribuiti Distribuzione si Sistemi Multidatabase no semi Sistemi logicamente Integrati eterogenei federati Auto nomia totally Sistemi Multidatabase federati Basi di Dati distribuite – @ Carlo Batini 2006 9 Tipologie di sistemi di BD distribuite: tipologie rilevanti Sistemi multidatabase Distribuiti Sistemi DBMS federati Multidatabase federati Distribuiti Distribuiti Tipologie di sistemi di BD distribuite tipologie rilevanti Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato Æ DW DBMS Distribuito Omogeneo (DDBMS) si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità semi Sistemi logicamente Integrati eterogenei federati Auto nomia totally Sistemi Multidatabase federati Sistemi multidatabase Distribuiti Sistemi DBMS federati Multidatabase federati Distribuiti Distribuiti Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato Æ DW DBMS Distribuito Omogeneo (DDBMS) si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità semi Sistemi logicamente Integrati eterogenei federati Basi di Dati distribuite – @ Carlo Batini 2006 DBMS Distribuito Omogeneo (DDBMS) yDBMS distribuiti eterogenei: strettamente integrati ma con eterogeneita’ di varia natura Sistemi multidatabase Distribuiti federati Distribuzione Sistemi Multidatabase Distribuiti si DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato DW DBMS federati Distribuiti Sistemi Multidatabase semi si Eterogeneità Auto nomia totally Sistemi Multidatabase federati Sistemi logicamente Integrati eterogenei federati Basi di Dati distribuite – @ Carlo Batini 2006 Tipologie piu’ rilevanti - 3 yDBMS federati e logicamente integrati: semiautonomi, eterogenei – Esempio: insieme di DBMS che gestiscono dati strutturati, immagini, video, per i quali viene creata una interfaccia integrata di accesso Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato DW DBMS Distribuito Omogeneo (DDBMS) DBMS federati Distribuiti Sistemi multidatabase Distribuiti federati Sistemi Multidatabase Distribuiti si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità Sistemi logicamente Integrati eterogenei federati Sistemi Multidatabase federati Tipologie piu’ rilevanti - 2 – Sono l’oggetto prevalente nel seguito Distribuzione totally Basi di Dati distribuite – @ Carlo Batini 2006 Tipologie piu’ rilevanti -1 yDBMS distribuiti omogenei (DDBMS): strettamente integrati, omogenei Sistemi Distribuiti federati eterogenei Auto nomia semi Auto nomia totally Sistemi Multidatabase federati Basi di Dati distribuite – @ Carlo Batini 2006 Sistemi Distribuiti federati eterogenei DBMS Distribuito Omogeneo (DDBMS) DBMS federati Distribuiti Sistemi multidatabase Distribuiti federati Sistemi Multidatabase Distribuiti si DBMS Distribuito eterogeneo Sistemi Multidatabase DBMS logicamente Integrato DBMS Eterogeneo Logicamente Integrato DW no semi Eterogeneità totally Sistemi Multidatabase federati Sistemi logicamente Integrati eterogenei federati si Auto nomia Basi di Dati distribuite – @ Carlo Batini 2006 Tipologie piu’ rilevanti - 4 yMulti Data Base MS: totalmente autonomi, omogenei/eterogenei Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato DW DBMS Distribuito Omogeneo (DDBMS) DBMS federati Distribuiti Sistemi multidatabase Distribuiti federati Sistemi Multidatabase Distribuiti si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità Sistemi logicamente Integrati eterogenei federati semi Auto nomia totally Sistemi Multidatabase federati Basi di Dati distribuite – @ Carlo Batini 2006 10 Tipologie piu’ rilevanti - 5 yData Warehouse: centralizzati, ma risultato della integrazione fuori linea di fonti eterogenee Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo DBMS Eterogeneo Logicamente Integrato Æ DW DBMS Distribuito Omogeneo (DDBMS) DBMS federati Distribuiti Sistemi multidatabase Distribuiti federati Sistemi Multidatabase Distribuiti si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità semi Auto nomia Nel seguito confrontiamo: yDBMS distribuiti (omogenei o eterogenei) yMulti Data Base Distribuzione Sistemi Distribuiti federati eterogenei DBMS Distribuito eterogeneo totally Sistemi Multidatabase federati Sistemi logicamente Integrati eterogenei federati Basi di Dati distribuite – @ Carlo Batini 2006 DBMS Eterogeneo Logicamente Integrato Æ DW DBMS Distribuito Omogeneo (DDBMS) DBMS federati Distribuiti Sistemi multidatabase Distribuiti federati Sistemi Multidatabase Distribuiti si Sistemi Multidatabase DBMS logicamente Integrato no si Eterogeneità semi Auto nomia totally Sistemi Multidatabase federati Sistemi logicamente Integrati eterogenei federati Basi di Dati distribuite – @ Carlo Batini 2006 Confronti yArchitetture dati yArchitetture funzioni yProcesso di progettazione Architetture dati e funzioni Basi di Dati distribuite – @ Carlo Batini 2006 Differenze nelle architetture dei DDBMS e sistemi multi database yIn particolare vediamo: Basi di Dati distribuite – @ Carlo Batini 2006 Architettura dati di riferimento per un DBMS centralizzato Schema esterno –Per i DDBMS yArchitettura dati yArchitettura funzionale Schema esterno Schema esterno Schema logico –Per i sistemi multidatabase yArchitettura dati –con schema concettuale globale –senza schema concettuale globale yArchitettura funzionale Basi di Dati distribuite – @ Carlo Batini 2006 Schema fisico Basi di Dati distribuite – @ Carlo Batini 2006 11 Architettura dati di riferimento per un DDBMS Schema esterno Schema esterno Schema esterno Distributed DBMS Schema logico globale Viste dello Schema globale Schema logico locale Schema logico locale Schema logico locale Schema fisico locale Schema fisico locale Schema fisico locale Basi di Dati distribuite – @ Carlo Batini 2006 Architettura funzionale di un DDBMS rete client client DBMS DBMS DBMS BD BD BD Basi di Dati distribuite – @ Carlo Batini 2006 Ruolo dei DBMS ai diversi nodi yPer ciascuna funzione (query processing, transaction manager, ecc) vi puo’ essere una gestione: yCentralizzata/gerarchica vs distribuita yCon assegnazione statica vs dinamica dei ruoli yVedremo piu’ avanti (DDBMS) esempi concreti di strategie per le diverse funzionalita’ Basi di Dati distribuite – @ Carlo Batini 2006 Multidatabase - due possibilita’: - con schema concettuale globale - senza schema concettuale globale Basi di Dati distribuite – @ Carlo Batini 2006 Architettura dati MDBS con Schema concettuale globale y Esiste uno schema concettuale globale che esprime in forma integrata l’intero contenuto informativo degli schemi locali Professore Corso Basi di Dati distribuite – @ Carlo Batini 2006 Schema globale Professore Studente Corso Studente Schema locale 1 Modulo Schema locale 1 Basi di Dati distribuite – @ Carlo Batini 2006 12 Architettura dati MDBS con Schema concettuale globale y Local Internal Schema (LIS) - Schema fisico dei dati su un nodo y Local Logical Schema (LLS) - Schema logico dei dati su un nodo y Global Logical Schema (GLS) - Schema logico dei dati globale su tutti i nodi y External Schema (ES) - Viste locali o globali dello schema logico disponibili a diverse classi di applicazioni GES1 GESn GES2 GLS LES1 LES1 LES2 Architettura dati MDBS con Schema concettuale globale y Differenza fondamentale rispetto a DDBMS: definizione del Global Logical Schema y Nei multidatabase e’ il risultato della integrazione, e della risoluzione di eventuali conflitti, degli schemi locali, es. come nello schema precedente, una entita’ Corso in uno schema e Modulo in un altro schema danno luogo ad una entita’ Corso nello schema globale. Viene progettato dopo gli schemi locali Global schema LES2 LLS1 LLS2 LLSn LIS1 LIS2 LISn Local schema1 Local schema2 Basi di Dati distribuite – @ Carlo Batini 2006 Nei DDBMS gli schemi locali sono viste dello schema globale e vengono progettate, percio’ lo schema globale viene progettato prima degli schemi locali Schema esterno Schema esterno Schema esterno Basi di Dati distribuite – @ Carlo Batini 2006 Architettura dati MDBS con Schema concettuale globale – Due possibili relazioni tra Global Schema e Local Schemas – Prima possiblita’: integra i Local Logical Schemas GES1 Schema logico globale Schema logico locale Schema fisico locale LES1 LES2 Schema fisico locale LLS1 LLS2 LIS1 LIS2 LLSn LISn Basi di Dati distribuite – @ Carlo Batini 2006 Architettura dati MDBS con Schema concettuale globale –Seconda possibilita: integra (anche) Local External Schemas GES2 LLS1 LLS2 LIS1 LIS2 Architettura MDBS senza schema concettuale globale Nei sistemi con autonomia massima non esiste lo schema concettuale globale Le singole applicazioni negoziano la visibilita’ di frammenti di schemi locali per costruire schemi esterni ES1 ES2 ESn Livello locale LES1 LES2 Basi di Dati distribuite – @ Carlo Batini 2006 Livello multidatabase GESn GLS LES1 LES2 Schema logico locale Schema fisico locale GES1 GESn GLS LES1 Schema logico locale GES2 Viste dello Schema globale LES2 LES11 LES12 LES21 LES22 LLSn LLS1 LLS2 LISn LIS1 LIS2 Basi di Dati distribuite – @ Carlo Batini 2006 LESm1 LESm2 LLSm LISm Basi di Dati distribuite – @ Carlo Batini 2006 13 E’ il caso del sistema Inps Inail CC Indica una relazione Agente economico Dati previ denziali Schema Inps Impresa Agente economico Codice Inps Dati assi curativi Partita IVA Architettura funzionale di un MDBS: assumiamo il caso in cui esista uno schema concettuale globale Schema comune Schema Inail Impresa Codice Inail Impresa Struttura Impresa Schema Camere C Anagrafica Basi di Dati distribuite – @ Carlo Batini 2006 Esempio y L’interrogazione “Trova tutti i professori che insegnano i corsi nel piano di studi dello studente “Rossi” viene distinta in due interrogazioni y a. Trova l’insieme dei corsi C nel piano di studi di Rossi, eseguita sullo schema 1 e y b. trova Professori relativi a moduli in C, eseguita sullo schema 2 y Successivamente i risultati sono composti per ottenere il risultato completo Professore Corso Studente Architettura funzionale di un MDBS: assumiamo in caso in cui esista uno schema concettuale globale client Schema locale 1 Modulo client MultiDBMS Mediatore Schema globale Professore Studente Corso Basi di Dati distribuite – @ Carlo Batini 2006 Wrapper Wrapper DBMS DBMS BD BD Schema locale 1 Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 Architettura funzionale di un MDBS client Mediatore - Fornisce allo strato superiore una rappresentazione virtuale unica delle basi di dati che coordina, data dallo schema globale - Traduce le richieste di esecuzione di queries in termini di frammenti di queries, inviate ai wrapper - Ricompone i risultati restituiti dai wrapper Architettura funzionale di un MDBS nel nostro esempio client client MultiDBMS Wrapper DBMS BD client MultiDBMS Mediatore Wrapper client Professore client Corso Studente Mediatore Wrapper Wrapper DBMS DBMS DBMS BD BD Basi di Dati distribuite – @ Carlo Batini 2006 client BD Basi di Dati distribuite – @ Carlo Batini 2006 14 Architettura funzionale di un MDBS Wrapper -Traduce la richiesta che proviene dal mediatore in termini della rappresentazione logico fisica dello schema locale sottostante - Restituisce il risultato al mediatore client Architettura funzionale di un MDBS nel nostro esempio client client client MultiDBMS MultiDBMS Mediatore Mediatore Wrapper Wrapper DBMS DBMS client Studente Wrapper Wrapper DBMS DBMS client Professore Corso BD Modulo BD BD BD Basi di Dati distribuite – @ Carlo Batini 2006 Ruoli del mediatore e del wrapper Basi di Dati distribuite – @ Carlo Batini 2006 La struttura mediatore/wrapper puo’ essere a piu’ livelli yMediatore – fornisce allo strato superiore una rappresentazione virtuale unica delle basi di dati che coordina data dallo schema globale – Traduce le richieste di esecuzione di queries in termini di frammenti di queries, inviate ai wrapper – Ricompone i risultati restituiti dai wrapper yWrapper – Traduce la richiesta che proviene dal mediatore in termini della rappresentazione logico fisica dello schema locale sottostante – Restituisce il risultato al mediatore Basi di Dati distribuite – @ Carlo Batini 2006 Mediatore Mediatore Wrapper Wrapper DBMS DBMS BD BD Mediatore DBMS Basi di Dati distribuite – @ Carlo Batini 2006 Progettazione DDBMS Il processo di progettazione y La natura fortemente integrata dei DDBMS porta a adottare per essi un approccio top-down alla progettazione, che rispetto alla progettazione di applicazioni DBMS ....... Analisi dei requisiti Progettazione concettuale Progettazione logica Progettazione fisica Basi di Dati distribuite – @ Carlo Batini 2006 Basi di Dati distribuite – @ Carlo Batini 2006 15 Progettazione DDBMS y La natura fortemente integrata dei DDBMS porta ad adottare per essi un approccio top-down alla progettazione, che rispetto alla progettazione di applicazioni DBMS, introduce una nuova fase Analisi dei requisiti Progettazione concettuale Progettazione della distribuzione Progettazione logica Progettazione fisica Basi di Dati distribuite – @ Carlo Batini 2006 Progettazione sistemi multidatabase y Invece, per i sistemi multi database si adotta un approccio bottom-up, perche’ tipicamente risultano dalla orchestrazione di sistemi esistenti. Analisi dei requisiti Progettazione concettuale e logica degli schemi locali Progettazione concettuale e logica dello schema globale Eventuale riprogettazione fisica parziale degli schemi locali Basi di Dati distribuite – @ Carlo Batini 2006 Portabilita’ e interoperabilita’ nei DBMS DEA yPortabilita’ : capacita’ di eseguire le stesse applicazioni DB su ambienti runtime diversi –Compile time –Facilitata dall’aderenza a standards (e.g.: SQL2, SQL-3) Basi di Dati distribuite – @ Carlo Batini 2006 Progettazione DDBMS yInoltre, progettazione logica e fisica sono ora effettuate sui nodi locali Analisi dei requisiti Progettazione concettuale Progettazione della distribuzione Progettazione logica locale Progettazione fisica locale Basi di Dati distribuite – @ Carlo Batini 2006 Tornando ai nostri due esempi yLa implementazione del primo sistema avverrà utilizzando un DDBMS (organizzazione unica, possibilita’ di coordinamento) yIl secondo sistema (Inps + Inail + Camere di commercio) va implementato con un sistema multidatabase, in cui ylo schema condiviso e’ costituito dalla entita’ Impresa yla perdita di autonomia e’ limitata alle sole transazioni di aggiornamento su variazione di impresa eseguite in modo asincrono Basi di Dati distribuite – @ Carlo Batini 2006 Portabilita’ e interoperabilita’ nei DBMS DEA y Interoperabilita’: capacita’ di eseguire applicazioni che coinvolgono contemporaneamente sistemi diversi ed eterogenei – Run-time – Facilitata dalla standardizzazione dei protocolli di accesso ai dati: – Database Connectivity (ODBC) – X-Open Distributed Transaction Processing (DTP) – Normalmente limitata al livello di accesso Basi di Dati distribuite – @ Carlo Batini 2006 16 Piano di lavoro: fino ad ora .. Paradigmi per la distribuzione dati y Abbiamo visto Æ Basi di Dati DEA, casi DDBMS e Multidatabase: diversi server DBMS utilizzati dallo stesso insieme di applicazioni y Piu’ avanti Æ y Basi di Dati Parallele: incremento delle prestazione mediante parallelismo sia di storage devices che di processore y Basi di Dati Replicate: replicazione della stessa informazione su diversi server per motivi di performance y Data warehouses: DBMS centralizzati, risultato della integrazione di fonti eterogenee, dedicati specificamente alla gestione di dati per il supporto alle decisioni DDBMS Multi database Caratteristiche generali x x Architetture dati funzioni x x Proprieta’ Query processing Controllo concorrenza Recovery management Basi di Dati distribuite – @ Carlo Batini 2006 Piano di lavoro: seconda parte Multi database BD Parallele Piano di lavoro: terza parte BD Replicate DDBMS Multi database Caratteristiche generali x x Caratteristiche generali x x Architetture dati funzioni x x Architetture dati funzioni x x Processo di progettazione x x Processo di progettazione x x Proprieta’ x Proprieta’ x Query processing x Query processing x Controllo concorrenza x Controllo concorrenza x Recovery management x Recovery management x Basi di Dati distribuite – @ Carlo Batini 2006 BD Replicate Processo di progettazione Basi di Dati distribuite – @ Carlo Batini 2006 DDBMS BD Parallele BD Parallele x BD Replicate x Basi di Dati distribuite – @ Carlo Batini 2006 Piano di lavoro: quarta parte DDBMS Multi database Caratteristiche generali x x Architetture dati funzioni x x Processo di progettazione x x Proprieta’ x Query processing x Controllo concorrenza x Recovery management x BD Parallele x BD Replicate x Basi di Dati distribuite – @ Carlo Batini 2006 17