execute reject delay



Documenti analoghi
Esecuzione concorrente di transazioni

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

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

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

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Coordinazione Distribuita

Le Macchine di Turing

Controllo concorrenza

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

1. Considerazioni generali

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Basi di Dati Complementi Esercizi Esercizi su concurrency control

Metodi Computazionali

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

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

Introduzione all Architettura del DBMS

Transazioni - Parte 1

Tecnologia di un Database Server (centralizzato) Introduzione generale

Linguaggio SQL: costrutti avanzati

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

b i 1,1,1 1,1,1 0,1,2 0,3,4

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design

Introduzione alla teoria dei database relazionali. Come progettare un database

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Ricorsione in SQL-99. Introduzione. Idea di base

1. PRIME PROPRIETÀ 2

Algoritmi e strutture dati. Codici di Huffman

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

2 FUNZIONI REALI DI VARIABILE REALE

L architettura di un DBMS

Lezioni di Matematica 1 - I modulo

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

Fondamenti e didattica di Matematica Finanziaria

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Anno 3. Classificazione delle funzioni

LE FUNZIONI A DUE VARIABILI

3 GRAFICI DI FUNZIONI

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

DB - Cenni sulla gestione delle transazioni

ALGEBRA DELLE PROPOSIZIONI

Teoria degli insiemi

La funzione è continua nel suo dominio perchè y = f(x) è composizione di funzioni continue. Il punto x = 0 è un punto isolato per D f.

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

VC-dimension: Esempio

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Luigi Piroddi

Introduzione Ordini parziali e Reticoli Punti fissi

Parte 1 Gestione della concorrenza

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Architetture software

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

Anno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

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

Macchine sequenziali

BENEDETTI ALESSANDRO Matricola : PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2

Esecuzione concorrente di transazioni

Problema del trasporto

Corrispondenze e funzioni

Corso di Politica Economica

FORME NORMALI E DIPENDENZE

Insiemi di livello e limiti in più variabili

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Capitolo 1 ANALISI COMPLESSA

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

Esistenza di funzioni continue non differenziabili in alcun punto

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

MD 9. La macroeconomia delle economie aperte. UD 9.1. Macroeconomia delle economie aperte

Sintesi di Reti Sequenziali Sincrone

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

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

x u v(p(x, fx) q(u, v)), e poi

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Ottimizazione vincolata

Alcuni Preliminari. Prodotto Cartesiano

Dimensionamento dei lotti di produzione: il caso con variabilità nota

La programmazione. Sviluppo del software

Capitolo 2. Operazione di limite

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

2. Leggi finanziarie di capitalizzazione

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione

Schema a blocchi dei convertitori DC-DC

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

1 Giochi a due, con informazione perfetta e somma zero

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Parte 3. Rango e teorema di Rouché-Capelli

1. Limite finito di una funzione in un punto

L EQUILIBRIO UNIVERSALE dalla meccanica celeste alla fisica nucleare

Esercitazione del Analisi I

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Sistemi di misurazione e valutazione delle performance

Transcript:

Scheduler Lo scheduler stabilisce l ordine di esecuzione delle operazioni. Le azioni che svolge sono: execute: l operazione può essere eseguita immediatamente, per cui viene passata al data manager reject: l operazione viene rifiutata, determinando il rollback della transazione delay: l operazione viene ritardata Compito dello scheduler è garantire l isolamento: l esecuzione concorrente di diverse transazioni deve essere equivalente all esecuzione seriale delle stesse. Come soddisfare a priori questo vincolo? Esiste uno strumento matematico atto a validare le strategie operate dallo scheduler, noto come teoria della serializzabilità.

Serializzabilità Notazione: o i [x], dove o {r,w}, denota una operazione di lettura/scrittura sul i dato x da parte della transazione T i o i, dove o {c,a}, denota il commit o l abort della transazione T i o i [x] o i [y] denota che l operazione o su x deve precedere l operazione o su y se tra due operazioni non viene specificata alcuna relazione di se tra due operazioni non viene specificata alcuna relazione di precedenza, allora l ordine di esecuzione è arbitrario e non influenza il risultato ( èunordine parziale)

Serializzabilità Definizione Una transazione T i è un ordinamento parziale con relazione d ordine parziale < i tale che: 1. T i x DB {r i [x], w i [x]} {a i, c i } definizione del dominio di operazioni per una transazione 2. a i T i se e solo se c i T i commit e abort non possono essere entrambi presenti 3. se t {a i, c i } e t T i allora per ogni t T i : t t, vale t < i t 4. se o i[x], w i[x] T i allora o i [x] < i w i [x] oppure w i [x] < i o i [x] l ultima operazione di una transazione è commit o abort deve esistere un ordinamento delle operazioni in conflitto

Serializzabilità Definizione Il grafo aciclico diretto di T i è un grafo orientato i cui vertici sono operazioni di T i e i cui archi rappresentano le relazioni d ordine tra coppie di operazioni. i Esempio T i : r i i[ [x] w i i[ [x] w i [y] c i Gli archi che si possono ottenere per transitività si possono omettere. w i [z]

Serializzabilità Definizione Una storia completa H su un insieme di transazioni T = {T 1,,T n }èun ordinamento parziale conrelazione d ordinedi parziale < H tale che: n 1. H = T i n i = 1 2. < i < H i = 1 3. se o i [x], w j[x] H allora o i [x] < H w j [x] oppure w j [x] < H o i [x] H comprende tutte le operazioni di T 1,, T n H rispetta l ordine parziale di ogni transazione T 1,, T n H deve definire un ordinamento delle operazioni i in conflitto effettuate da diverse transazioni di {T 1,, T n }

Serializzabilità Definizione Unastoriaèunprefisso di una storia completa. w 1 [y] Esempio r 1 [x] w 1 [x] c 1 T 1 : r 1 1[ [x] w 1 1[ [x] T 2 : w 2 [z] w 1 [y] w 1 [z] c 1 H : completa H : incompleta w 1 [z] w 2 [z] r 2 [x] w 2 [x] c 2 r 1 [x] w 1 [x] w 1 [z] w 2 [z] r 2 [x] w 2 [x] c 2 r 2 [x] w 2 [x] c 2

Serializzabilità Definizione Unastoriaèunprefisso di una storia completa. w 1 [y] Esempio r 1 [x] w 1 [x] c 1 T 1 : r 1 1[ [x] w 1 1[ [x] T 2 : w 2 [z] w 1 [y] w 1 [z] c 1 H : completa H : non è una storia! w 1 [z] w 2 [z] r 2 [x] w 2 [x] c 2 r 1 [x] w 1 [x] w 1 [z] w 2 [z] r 2 [x] w 2 [x] c 2 r 2 [x] w 2 [x] c 2

Serializzabilità Definizione Una transazione T i è committed in una storia H se c i H, mentre è aborted se a i H. La committed projection di H, chiamata C(H), si ottiene da H rimuovendo tutte le operazioni di transazioni uncommitted in H. Proposizione C(H) è una storia completa delle transazioni committed. Perchè prendere in considerazione storie non complete e committed projections e non limitarsi invece ad analizzare storie complete?

Serializzabilità Obiettivo dello scheduler Creare storie serializzabili. Intuizione: H è serializzabile se equivale ad una storia seriale. In dettaglio definire una nozione di equivalenza tra storie definire il concetto di storia seriale determinare le caratteristiche di tutte e sole le storie serializzabili

Serializzabilità Conflict equivalence DuestorieHeH sono conflict equivalent, denotato H H, se: sono definite sullo stesso insieme di transazioni e contengono esattamente lo stesso insieme di operazioni l ordine delle operazioni in conflitto appartenenti a transazioni non abortite è lo stesso: se o i [x], w j [x] H, H, con a i, a j H, H allora o i [x] < H w j [x] se e solo se o i [x] < H w j [x]

Serializzabilità w 1 [y] H: r 1 [x] r 1 [y] w 1 [x] c 1 r 2 [z] w 2 [y] w 2 [x] c 2 H e H sono conflict equivalent H : r 1 [x] r 1 [y] w 1 [x] w 1 [y] c 1 r 2 [z] w 2 [y] w 2 [x] c 2

Serializzabilità w 1 [y] H: r 1 [x] r 1 [y] w 1 [x] c 1 r 2 [z] w 2 [y] w 2 [x] c 2 w 1 1[ [x] H e H non sono conflict equivalent H : r 1 [x] r 1 [y] w 1 [y] c 1 r 2 [z] w 2 [y] w 2 [x] c 2

Serializzabilità Storie seriali Una storia completa H è seriale se per ogni coppia di transazioni T i,t j H, c i precede tutte le operazioni di T j, oppure c j precede tutte le operazioni di T i. In una storia seriale l unica transazione correntemente attiva deve terminare prima che un altra transazione possa essere attivata. Una storia seriale su {T 1,, T n } si denota con l elenco l (in ordine temporale) delle transazioni che la compongono, che altro non è se non una permutazione di {T 1,,T n }. La classe delle storie seriali viene chiamata S.

Serializzabilità Storie serializzabili Una storia H è serializzabile se C(H) è equivalente ad una storia seriale. La classe delle storie serializzabili viene chiamata SR.

Serializzabilità Definizione Sia H una storia su{t 1,,T n }. Il grafo di serializzazione i di H, chiamato SG(H), è un grafo orientato i cui nodi sono le transazioni di C(H) ed esiste un arco T i T j (con i j) se una delle operazioni di T i precede ed è in conflitto con una delle operazioni di T j. Teorema di serializzabilità Una storia H è serializzabile se e solo se SG(H) è aciclico.

Esempio w 1 [y] H: r 1 [x] w 1 [x] w 1 [z] w 2 [z] c 1 r 2 [x] w 2 [x] c 2 SG(H): T 1 T 2 H è serializzabile ed una storia seriale equivalente è T 1, T 2 ottenuta ordinando topologicamente SG(H)

Esempio w 1 [y] H: r 1 [x] w 1 [x] w 1 [z] w 2 [z] c 1 r 2 [x] w 2 [x] c 2 SG(H): T 1 H è serializzabile ed una storia seriale equivalente è T 2 T 3 r 3 [u] w 3 [x] c 3 T 1, T 2, T 3 ottenuta ordinando topologicamente SG(H)

Esempio w 1 [y] r 1 [x] w 1 [x] c 1 w 3 [y] c 3 H: w 1 [z] w 2 [u] r 3 [u] r 2 [x] w 2 [x] c 2 SG(H): T 1 T 2 T 3 H non è serializzabile

Classi di storie La serializzabilità da sola non basta a garantire l assenza di problemi derivanti dall esecuzione concorrente di diverse transazioni. Riprendiamo nell ambito della teoria della serializzabilità le stesse idee proposte per evitare possibili anomalie: ripristinabilità, cascading abort, strettezza.

Classi di storie Definizione T j legge x da T i in H, con T j,t i H, se: w i [x] r j [x] a i r j [x] sew i [x] w k [x] r j [x] allora a k r j [x] Definizione Una storia H è ripristinabile se quando T j legge un qualche dato da T i in H, con i j e c j H, allora: c i < H c j. La classe delle storie ripristinabili si chiama RC.

Classi di storie Definizione Una storia H evita il cascading abort se quando T j legge un qualche dato x da T i in H, coni j, allora: c i < H r j [x]. Laclasse delle storie che evitano il cascading abort si chiama ACA. Definizione Una storia H è stretta se quando w i [x] < H o j [x] inh,coni j, allora: c i (a i )< H o j [x]. La classe delle storie strette viene chiamata ST.

Classi di storie Teorema S ST ACA RC. S SR. RC ACA ST S SR

Classi di storie w 1 [a] H 1 H 1 : r 2 [g] w 2 [a] w 1 [b] r 2 [b] RC w 2 [b] ACA ST S c 2 w 1 [f] c 1 SR

Classi di storie w 1 [a] H 2 : r 2 [g] w 2 [a] w 1 [b] w 1 [f] RC H 2 c 1 ACA ST S r 2 [b] w 2 [b] c 2 SR

Classi di storie w 1 [x] H 3 : c 1 r 2 [x] w 1 [y] r 2 [y] c 2 RC ACA H 3 ST S SR

Classi di storie Definizione Una proprietà P è prefix commit-closed se quando P vale per una storia H allora P vale per ogni C(H ), dove H è un qualunque prefisso di H. Teorema SR, ST, ACA, erc sono prefix commit-closed. Perchè è importante definire scheduler che soddisfano proprietà prefix commit-closed?

Equivalenza View equivalence DuestorieHeH sono view equivalent se producono gli stessi effetti visibili ibili sul database. Questa nozione di equivalenza risulta essere più intuitiva e semplice della nozione di conflict equivalence. Sulla base della view equivalence è possibile ridefinire le classi di storie. Denotiamo con CSR la classe SR basata sulla conflict equivalence e con VSR la classe SR basata sulla view equivalence. Teorema Se H è CSR allora H è VSR.

Equivalenza La conflict equivalence è più restrittiva della view equivalence, in quanto esistono storie che producono gli stessi effetti sulla base di dati ma che non soddisfano la conflict equivalence. Determinare l appartenenza a VSR è un problema NP-completo, mentre determinare l appartenenza a CSR è un problema risolvibile in tempo polinomiale (vedi teorema di serializzabilità).