Esecuzione concorrente di transazioni

Documenti analoghi
Corso di Sistemi di Gestione di Basi di Dati. Esercitazione sul controllo di concorrenza 12/02/2004

Esecuzione concorrente di transazioni

execute reject delay

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza

Gestione della Concorrenza

Concorrenza, lucidi integrativi

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati

Basi di Dati Complementi Esercizi Esercizi su concurrency control

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

età (anni) manutenzione (keuro) ricavato (keuro)

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill

Parte V: Rilassamento Lagrangiano

Esercizi proposti 10

GRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.

Controllo concorrenza

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

Grafi pesati Minimo albero ricoprente

Parte 1 Gestione della concorrenza

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Piccolo teorema di Fermat

Il Teorema di Kakutani

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio:

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Proprietà delle relazioni 1

Parte VII Gestione delle transazioni

Costruzione di espressioni regolari 4

Cognome Nome Matricola Ordin.

Analisi multicriteria. Analisi multicriteria

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni

Limiti di successioni

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROGRAMMAZIONE (Corso A)

Cap. 1-I 1 I sistemi informatici

Algoritmo basato su cancellazione di cicli

Capitolo 1. Gli strumenti. 1.1 Relazioni

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Problemi, istanze, soluzioni

DB - Cenni sulla gestione delle transazioni

11.4 Chiusura transitiva

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione

Il gruppo di Reti Complesse del Dipartimento di Fisica e Astronomia dell Università di Catania

Deadlock (stallo) Risorse. Uso delle risorse. Parte III. Deadlock

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

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

Linguaggi e Grammatiche Liberi da Contesto

Sistemi Web per il turismo - lezione 3 -

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

I metodi Electre. La scelta fra le alternative: i metodi Electre. Perché introdurre l incompletezza? I metodi Electre: elementi comuni

Richiami sugli insiemi numerici

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

Pumping lemma per i linguaggi Context-free

Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Il linguaggio SQL: transazioni

Espressioni regolari

ELEMENTI di TEORIA degli INSIEMI

Anno 3. Funzioni esponenziali e logaritmi: le 4 operazioni

UNIVERSITA DEGLI STUDI DI PERUGIA

Capitolo 6 Le infrastrutture SoftWare

1.1 Coordinate sulla retta e nel piano; rette nel piano

RETI DI CALCOLATORI II

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

Parole note, nuovi significati: linguaggio, determinismo e infinito

Algoritmi e Strutture Dati

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

Indice. 1 Cenni di logica. 2 Elementi di teoria degli insiemi. 3 Relazioni e funzioni. 4 Strutture algebriche

LA METAFORA DELL UFFICIO

Equazioni esponenziali e logaritmi

Algoritmi e Strutture Dati

Sistemi mono o multiutente. Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente.

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

Architetture Distribuite

Macchine sequenziali. Automa a Stati Finiti (ASF)

1 Esercizi in pseudocodice

Catene di Markov. 8 ottobre 2009

Grafi (non orientati e connessi): minimo albero ricoprente

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

Prontuario degli argomenti di Algebra

Corso di Calcolo Numerico

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

LEZIONE 30. Se x = 1 si dice che x è un versore. Se poi y = (y 1,..., y n ) R n poniamo. Ricordiamo che vale la cosiddetta disuguaglianza triangolare

Ordinamenti per confronto: albero di decisione

Informatica e Bioinformatica: Algoritmi

Università degli studi di Verona Corso di laurea in Informatica Prova scritta di Algebra 3 settembre 2002

vettori V Sia inoltre l angolo che il primo vettore deve percorrere per sovrapporsi al secondo. * **

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Quadriche Maurizio Cornalba 7/6/2016

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali

Strutture di accesso ai dati: B + -tree

Teorema di Thevenin generalizzato

Transcript:

Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Osservazione Per gestire con prestazione accettabili il carico di lavoro tipico delle applicazioni gestionali (100 o 1000 tps) un DBMS deve eseguire le transazioni in modo concorrente. L esecuzione concorrente di transazioni senza controllo può generare anomalie (come vedremo in seguito). È quindi necessario introdurre dei meccanismi di controllo nell esecuzione delle transazioni per evitare tali anomalie. 2 1

Anomalie di esecuzione concorrente Anomalie tipiche Lettura sporca Lettura inconsistente Perdita di update Aggiornamento fantasma 3 Notazione: Indichiamo con t i una transazione r i (x): è una operazione di lettura eseguita dalla transazione t i sulla risorsa x; w i (x): è una operazione di scrittura eseguita dalla transazione t i sulla risorsa x; Anomalie di esecuzione concorrente 4 Esempi alla lavagna 2

Schedule Concetti di base 5 Sequenza di operazioni di lettura e scrittura eseguite su risorse della base di dati da diverse transazioni concorrenti Esso rappresenta una possibile esecuzione concorrente di diverse transazioni. Quali schedule accettare per evitare le anomalie? Si stabilisce di accettare SOLO gli schedule equivalenti ad uno schedule seriale. Schedule seriale Concetti di base E uno schedule dove le operazioni di ogni transazione compaiono in sequenza senza essere inframezzate da operazioni di altre transazioni. 6 s 1 : r1(x) r2(x) w2(x) w1(x) NON è SERIALE s 2 : r1(x) w1(x) r2(x) w2(x) è SERIALE 3

Concetti di base Schedule serializzabile E uno schedule equivalente ad uno schedule seriale 7 A questo punto occorre definire il concetto di EQUIVALENZA tra schedule. L idea è che si vogliono considerare equivalenti due schedule che producono gli stessi effetti sulla base di dati. Quindi accettare schedule serializzabili significa accettare schedule che hanno gli stessi effetti di uno schedule seriale. Equivalenza tra schedule 8 Ipotesi di commit-proiezione Si suppone che le transazioni abbiano esito noto. Quindi si tolgono dagli schedule tutte le operazioni delle transazioni che non vanno a buon fine. Richiedono questa ipotesi le seguenti tecniche di gestione della concorrenza: Gestione della concorrenza basata sulla view-equivalenza Gestione delle concorrenza basata sulla conflict-equivalenza 4

Definizioni preliminari View-equivalenza RELAZIONE LEGGE_DA Dato uno schedule S si dice che un operazioni di lettura r i (x), che compare in S, LEGGE_DA un operazione di scrittura w j (x), che compare in S, se w j (x) precede r i (x) in S e non vi è alcuna operazione w k (x) tra le due. 9 Esempio S1: r 1 (x) r 2 (x) w 2 (x) w 1 (x) LEGGE_DA(S1) = S2: r 1 (x) w 1 (x) r 2 (x) w 2 (x) LEGGE_DA(S2) = {(r 2 (x), w 1 (x))} Definizioni preliminari View-equivalenza SCRITTURE FINALI Dato uno schedule S si dice che un operazione di scrittura w i (x), che compare in S, è una SCRITTURA FINALE se è l ultima operazione di scrittura della risorsa x in S. 10 Esempio S1: r 1 (x) r 2 (x) w 2 (x) w 1 (x) SCRITTURE_FINALI(S1) = {w 1 (x)} S2: r 1 (x) w 1 (x) r 2 (x) w 2 (x) SCRITTURE_FINALI(S2) = {w 2 (x)} 5

View-equivalenza View-equivalenza Due schedule S 1 e S 2 sono view-equivalenti (S 1 V S 2 ) se possiedono le stesse relazioni LEGGE_DA e le stesse scritture finali. View-serializzabilità Uno schedule S è view-serializzabile (VSR) se esiste uno schedule seriale S tale che S V S. 11 Osservazioni View-equivalenza L algoritmo per il test di view-equivalenza tra due schedule è di complessità linere. L algoritmo per il test di view-serializzabilità di uno schedule è di complessità esponenziale. In conclusione, la VSR richiede algoritmi di complessità troppo elevata e l ipotesi di commitproiezione non è applicabile nei sistemi reali 12 6

Conflict-equivalenza Definizioni preliminari CONFLITTO Dato uno schedule S si dice che una coppia di operazioni (a i, a j ), dove a i e a j compaiono nello schedule S, rappresentano un conflitto se: i j entrambe operano sulla stessa risorsa almeno una di esse è una operazione di scrittura a i compare in S prima di a j 13 Conflict-equivalenza Conflict-equivalenza Due schedule S 1 e S 2 sono conflict-equivalenti (S 1 C S 2 ) se possiedono le stesse operazioni e gli stessi conflitti. Conflict-serializzabilità Uno schedule S è conflict-serializzabile (CSR) se esiste uno schedule seriale S tale che S C S. 14 7

Conflict-equivalenza Osservazioni L algoritmo per il test di conflict-serializzabilità di uno schedule è di complessità lineare. Algoritmo (dato uno schedule S): 15 Si costruisce il grafo G(N,A) dove N={t 1,, t n } con t1,, tn transazioni di S; (t i, t j ) A se esiste almeno un conflitto (a i, a j ) in S. Se il grafo così costruito è ACICLICO allora S è conflictserializzabile. Conflict-equivalenza Verifica algoritmo sul grafo CSR grafo ACICLICO Se uno schedule S è CSR allora è C ad uno schedule seriale. Supponiamo che le transazioni nello schedule seriale siano ordinate secondo il T ID : t1, t2,, tn. Poiché lo schedule seriale ha tutti i conflitti nello stesso ordine dello schedule S, nel grafo di S ci possono essere solo archi (i,j) con i<j e quindi il grafo non può avere cicli, perché un ciclo richiede almeno un arco (i,j) con i>j. grafo ACICLICO CSR 16 Se il grafo di S è aciclico, allora esiste fra i nodi un ordinamento topologico (cioè una numerazione dei nodi tale che il grafo contiene solo archi (i,j) con i<j). Lo schedule seriale le cui transazioni sono ordinate secondo l ordinamento topologico è equivalente a S, perché per tutti i conflitti (i,j) si ha sempre i<j. 8

Osservazioni CSR vs VSR La conflict-serializzabilità è condizione sufficiente ma non necessaria per la view-serializzabilità. 17 VSR CSR CSR VSR 18 Controesempio per la non necessità: r 1 (x) w 2 (x) w 1 (x) w 3 (x) LEGGE_DA= SCR_FIN={w 3 (x)} view-serializzabile: in quanto view-equivalente allo schedule seriale r1(x)w1(x)w2(x)w3(x) LEGGE_DA= SCR_FIN={w 3 (x)} non conflict-serializzabile: in quanto il grafo dei conflitti è ciclico. t2 t1 t3 9

CSR 19 VSR Supponiamo S1 C S2 e dimostriamo che S1 V S2: Osserviamo che poiché S1 C S2 i due schedule hanno: stesse scritture finali: se così non fosse, ci sarebbero almeno due scritture sulla stessa risorsa in ordine diverso e poiché due scritture sono in conflitto i due schedule non sarebbero C stessa relazione legge_da : se così non fosse, ci sarebbero scritture in ordine diverso o coppie letturascrittura in ordine diverso e quindi, come sopra sarebbe violata la C Esercizi 20 ALLA LAVAGNA 10