Basi di Dati Distribuite



Documenti analoghi
Architetture distribuite

Architetture distribuite

TRANSAZIONI DISTRIBUITE TRANSAZIONI

Tecnologia di un Database Server (centralizzato) Introduzione generale

L architettura di un DBMS

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Basi di dati distribuite. BD distribiute 1

Linguaggio SQL: costrutti avanzati

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Introduzione all Architettura del DBMS

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Sistemi centralizzati e distribuiti

Corso di Informatica (Basi di Dati)

DBMS (Data Base Management System)

Capitolo 13. Interrogare una base di dati

Lezione V. Aula Multimediale - sabato 29/03/2008

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

1. BASI DI DATI: GENERALITÀ

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Informatica (Basi di Dati)

Soluzione dell esercizio del 2 Febbraio 2004

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Corso di Informatica

Mac Application Manager 1.3 (SOLO PER TIGER)

Facoltà di Farmacia - Corso di Informatica

Organizzazione degli archivi

MODULO 5 Appunti ACCESS - Basi di dati

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Data Warehousing (DW)

Database. Si ringrazia Marco Bertini per le slides

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

risulta (x) = 1 se x < 0.

Progettaz. e sviluppo Data Base

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Caratteristiche principali. Contesti di utilizzo

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Introduzione alla teoria dei database relazionali. Come progettare un database

Informatica per le discipline umanistiche 2 lezione 10

PROGRAMMA DI CLASSE 5AI

Introduzione ai database relazionali

Guida all uso di Java Diagrammi ER

Introduzione alle basi di dati (prima parte)

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Data Base. Prof. Filippo TROTTA

Basi di dati 9 febbraio 2010 Compito A

CALCOLO COMBINATORIO

La Metodologia adottata nel Corso

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Le Basi di Dati. Le Basi di Dati

Base di dati e sistemi informativi

Tecniche di Prototipazione. Introduzione

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Progettazione di Basi di Dati

GERARCHIE RICORSIVE - SQL SERVER 2008

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Volumi di riferimento

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Architetture Distribuite per Basi di Dati

Secondo Compitino di Basi di Dati

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Le fattispecie di riuso

Esecuzione concorrente di transazioni

Indice. pagina 2 di 10

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

VISUALFLEET Software Overview

Amministrazione gruppi (all interno della Scuola)

Corrispondenze e funzioni

CONCETTO DI ANNIDAMENTO

Dispensa di database Access

Progettaz. e sviluppo Data Base

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Strumenti di modellazione. Gabriella Trucco

Database 1 biblioteca universitaria. Testo del quesito

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Gestione Turni. Introduzione

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Transcript:

Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite DB Distribuiti 1

DB Distribuiti Un DB distribuito è una collezione di dati: Logicamente appartenenti allo stesso sistema. I dati hanno cioè caratteristiche tali che li legano insieme cosicché un DB distribuito è diverso da un insieme di DB centralizzati. Sono distribuiti su più server collegati in rete. DB Distribuiti 2 Motivazioni Natura intrinsecamente distribuita delle organizzazioni Evoluzione degli elaboratori Aumento della capacità' elaborativa Riduzione di prezzo Evoluzione della tecnologia dei DBMS Standard di interoperabilità Evoluzione delle reti DB Distribuiti 3

DB Distribuiti: Classificazione Se su tutti i server è usato lo stesso DBMS si parla di DB omogenei. Se i DBMS sono diversi si parla di DB eterogenei. E anche importante sapere se i vari server sono collegati da una LAN o da una WAN. DB Distribuiti 4 Frammentazione dei dati Posso frammentare lo schema Posso frammentare la tabella Frammentazione orizzontale I frammenti sono insiemi di tuple con lo stesso schema. La relazione originale si ottiene con l unione. Frammentazione verticale I vari frammenti hanno uno schema ottenuto come sottoinsieme dello schema della relazione di partenza. La relazione originale si ottiene con un join. La frammentazione deve essere garantire completezza e ricostruibilità. DB Distribuiti 5

Allocazione dei dati Ogni frammento è realizzato tramite una o più tabella in un db allocato su un certo server. Allocazione non ridondante ogni frammento o relazione viene allocato su un solo server. ridondante alcuni frammenti o relazioni sono allocati su più server. DB Distribuiti 6 Livelli di Trasparenza Trasparenza di Frammentazione Interagiamo con il db distribuito come se fosse centralizzato. Non ci dobbiamo preoccupare né della eventuale frammentazione né delle allocazioni. Trasparenza di Allocazione Dobbiamo conoscere come sono frammentati i dati ma dobbiamo indicarne la allocazione. Se il sistema è ad allocazione ridondante non dobbiamo indicare a quale replica ci riferiamo per l accesso (trasparenza di replicazione) DB Distribuiti 7

Livelli di Trasparenza Trasparenza di Linguaggio Dobbiamo indicare sia i frammenti sia la loro allocazione ma non dobbiamo preoccuparci dei vari dialetti SQL usati dai vari sistemi. Assenza di trasparenza Il sistema è eterogeneo e i dialetti SQL sono diversi e noi dobbiamo specificare le varie query opportunamente. DB Distribuiti 8 Livelli di Trasparenza: Esempio Fornitore Fornitore1 Fornitore2 server@milano.it (Oracle) server1@roma.it (SQLServer) server2@roma.it (SQLServer) Problema: Selezionare il nome di un fornitore dato il suo numero DB Distribuiti 9

Livelli di Trasparenza: Esempio Trasparenza di frammentazione select nome from fornitore where numero = 125 DB Distribuiti 10 Livelli di Trasparenza: Esempio Trasparenza di allocazione select nome from fornitore1 where numero = 125 Se non lo trovo select nome from fornitore2 where numero = 125 DB Distribuiti 11

Livelli di Trasparenza: Esempio Trasparenza di linguaggio select nome into from fornitore1@server.milano.it where numero = 125 Se non lo trovo select nome from fornitore2@server1.roma.it where numero = 123 Assenza di trasparenza Bisogna tenere conto dei dialetti SQL nella formulazione delle query DB Distribuiti 12 Transazioni e DB Distribuiti Richieste remote Operazioni di sola lettura indirizzate ad un solo DBMS Transazioni remote Insieme arbitrario di comandi SQL indirizzate ad un solo DBMS Transazioni distribuite (2PC) Indirizzate a più DBMS, ma ogni comando SQL fa riferimento a dati gestiti da un solo DBMS. Richieste distribuite (2PC + Ottimizzazione Distribuita) Transazioni arbitrarie, in cui il singolo comando SQL può fare riferimento anche a dati gestiti da più DBMS DB Distribuiti 13

Acidità delle Transazioni Ragioneremo sulle transazioni distribuite Consistenza Limiti tecnologici impongono che i vincoli imposti siano solo locali. Persistenza e Atomicity I meccanismi utilizzati per il caso centralizzato restano validi (con qualche aggiunta per l atomicità) DB Distribuiti 14 Acidità delle Transazioni Isolation e Atomicity Se ogni sistema usa il 2PL stretto la scheduling globale è serializzabile Problema del deadlock distribuito Se ogni sistema usa il metodo dei timestamps, ed essi sono assegnati in maniera globale alle sottotransazioni,lo scheduling globale è serializzabile. DB Distribuiti 15

Commit a 2 fasi (2PC) I server vengono denominati: Resource Manager (RM); Transaction Manager (TM). L analogia più calzante è quella di un matrimonio con i promessi sposi (i RMs) ed un celebrante (TM). DB Distribuiti 16 Commit a 2 fasi (2PC) Il celebrante chiede ai partecipanti se vogliono sposarsi (cioè se vogliono concludere positivamente la transazione). Se tutti i partecipanti sono d accordo, il matrimonio si fa. Se almeno uno dei partecipanti non è d accordo il matrimonio si annulla. DB Distribuiti 17

Durability Ogni DBMS ha ovviamente la capacità di gestire applicazioni in modo autonomo. Un progetto accurato della distribuzione dovrebbe garantire che la maggior parte possibile delle applicazioni operino localmente. Nel caso di transazioni di stribuite sono possibili diversi malfunzionamenti; Caduta del TM; Caduta di uno di RM; Caduta della Rete. Nuovi record nei log. DB Distribuiti 18 Nuovi record nel log del TM Record di prepare Il TM scrive sul proprio log l identificativo dei processi RM partecipanti. Record global commit / global abort Si riporta la decisione presa relativamente alla transazione in esame. Record di complete Il protocollo è stato portato a termine. DB Distribuiti 19

Nuovi record nel log del RM Ai record classici si aggiunge il record di ready Se accetto: Indica l irrevocabile decisione di partecipare al commit globale. Deve essere scritto quando si è in uno stato stabile (risorse bloccate) e rispettando la WAL e la commit precedenza per il proprio log. Una volta scritto questo record, l RM perde ogni autonomia decisionale. Se rifiuto: Poi vediamo DB Distribuiti 20 2PC in assenza di guasti Rapide scritture su log e scambi di messaggi prepare global decision complete TM prepare msg ready ready msg decision msg finestra di incertezza local decision ack msg RM DB Distribuiti 21

Cosa accade se. Qualche RM decide l abort della transazione Anziché mandare un messaggio di ready, manda un messaggio di not-ready. Il processo che gestisce l RM termina dopo l abort DB Distribuiti 22 Cosa accade se. Qualche RM non manda la decisione locale Allo scadere del time-out si opta per global abort DB Distribuiti 23

Cosa accade se. Un partecipante cade prima il record ready Non ci sono modifiche sostanziali rispetto al caso centralizzato. La transazione va disfatta perché la transazione globale è andata in global abort. DB Distribuiti 24 Cosa accade se. Un partecipante cade dopo il record ready L RM deve conoscere la decisione globale. L RM interroga il TM oppure il TM ri-invia la decisione ad intervalli regolari DB Distribuiti 25

Cosa accade se. Cade il TM e l ultimo record è prepare Problema: il messaggio di prepare è arrivato a tutti, a nessuno o a qualcuno? Alla ripresa del TM si può decidere per un global abort e svolgendo la seconda parte del protocollo. E anche possibile cercare di ripetere la prima fase. DB Distribuiti 26 Cosa accade se. Cade il TM e l ultimo record è global decision Quanti RM siano stati avvertiti della decisione? Bisogna ripetere la seconda riavvertendo tutti gli RM. DB Distribuiti 27

Osservazione La possibile ripetizione della seconda fase (scadenza del timeout normalmente o recovery del TM o dell RM) fa sì che che l RM possa ricevere il messaggio di global decision più volte. L RM ignora i messaggi successivi ma deve sempre mandare l ack per consentire la chiusura del protocollo. DB Distribuiti 28 Cosa accade se. Si perde il prepare msg o qualche ready msg Situazioni indistinguibili dal punto di vista del TM) Scatta il timeout sulla prima fase e si decide un global abort. DB Distribuiti 29

Cosa accade se. Si perde il global decision msg o qualche ack Situazioni indistinguibili dal punto di vista del TM) Scatta il timeout sulla seconda fase e questa viene ripetuta. DB Distribuiti 30 DB replicati COPIA PRIMARIA COPIA SECONDARIA propagazione modifiche L affidabilità L autonomia DB Distribuiti 31

DB replicati COPIA 1 COPIA 2 modifiche modifiche DB Distribuiti 32 DB replicati Trasmissione asincrona COPIA 1 COPIA 2 propagazione transazione master transazione di allineamento DB Distribuiti 33

DB replicati Transazione asincrona COPIA 1 COPIA 2 transazione master DB Distribuiti 34 DB replicati Allineamento periodico COPIA 1 COPIA 2 INTERO CONTENUTO COPIA 1 DELLA COPIA 1 COPIA 2 DELTA-PLUS DELTA-MINUS DB Distribuiti 35