Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9"

Transcript

1 Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9

2 Transazione Insieme ordinato di operazioni di lettura e scrittura su un DB. Sintatticamente: inizia con un BoT (Begin of Transaction) termina con un EoT (End of Transaction) All interno del codice: Commit work La transazione va a buon fine Rollback work (abort) La transazione non ha alcun effetto Nei sistemi attuali è perlopiù garantito un solo livello di controllo (transazioni flat). Tecnologia di un DBMS 1

3 Transazione Transazione Ben Formata : Inizia con BoT; Termina con EoT; Viene eseguito un solo Commit o un solo Abort; Non avvengono letture e/o scritture dopo il Commit/Abort. Proprietà garantita dai sistemi. BoT Update CC set saldo = saldo 25 where ccnum = Update CC set saldo = saldo + 25 where ccnum = Commit EoT Tecnologia di un DBMS 2

4 ACIDit à delle Transazioni Atomicity: Una transazione è una unità indivisibile. Consistency: Una transazione deve lasciare il DB in uno stato consistente con i vincoli. Isolation: Una transazione deve agire in maniera indipendente dalle altre. Durability: Gli effetti di una transazione che ha effettuato il Commit non devono mai essere persi. Tecnologia di un DBMS 3

5 At om ic it à Il modello di esecuzione è tutto-o-niente. Una transazione può non andare a buon fine: per decisione autonoma; per decisione del DBMS; per errori e/o guasti. L atomicità ci assicura che, indipendentemente dal momento e dai motivi dell abort, le eventuali azioni già effettuate vengono disfatte (operazione di undo). Durante l esecuzione della transazione, le varie operazioni non sono visibili al mondo esterno. Dopo il commit, le operazioni effettuate sono tutte rese visibili al mondo esterno. Tecnologia di un DBMS 4

6 Consist enza Una transazione lascia il DB in uno stato consistente. Vincoli Immediati: se è violato un vincolo immediato, il corrispondente comando ritorna un codice di errore; se tale errore è gestito dal codice della transazione, questa può provare a continuare. Vincoli Ritardati: il controllo sui vincoli deferred avviene quando è effettuato il commit; se qualche vincolo è violato, la transazione è uccisa in extremis. Tecnologia di un DBMS 5

7 Isolam ent o Per migliorare i tempi medi di risposta (TpS), è necessario eseguire più transazioni in maniera concorrente. La proprietà di isolamento garantisce che: il risultato di un insieme di transazioni eseguite in maniera concorrente è in qualche modo equivalente (?) a quello che si otterrebbe se le transazioni fossero eseguite una dopo l altra. venga evitato il Rollback a catena (l abort di una transazione provoca l abort di un altra transazione e così via); il Rollback a catena sarebbe particolarmente pericoloso qualora coinvolgesse transazioni che hanno già effettuato il commit. Tecnologia di un DBMS 6

8 Durabilit y (Persist enza) L effetto di una transazione che ha effettuato il commit non deve mai essere perso. La persistenza fornisce meccanismi per rispondere ai malfunzionamenti hw/sw del sistema. Tecnologia di un DBMS 7

9 Moduli di un DBMS Consistenza Persistenza Ottimizzatore Gestore delle Strutture Fisiche di Accesso Controllore Affidabilità Buffer Manager Gestore Concorrenza Atomicità Isolamento Tecnologia di un DBMS 8

10 Teoria Della Conc orrenza Il gestore della concorrenza è lo strato più interno di un DBMS. Si occupa di trasferire: blocchi in memoria centrale (read); pagine verso la memoria di massa (write). Scheduler: gestisce le operazioni di lettura/scrittura. Tecnologia di un DBMS 9

11 Equivalenza di Sc heduling Si considerino 2 transazioni T1 e T2. Esistono 2 scheduling sequenziali: T1 T2 T2 T1 Non è detto che essi forniscano lo stesso risultato. T1 BoT Update CC set saldo = 0 Commit EoT T2 BoT Update CC set saldo = saldo + 30 Commit EoT Tecnologia di un DBMS 10

12 Equivalenza di Sc heduling Il risultato di un insieme di transazioni eseguite in maniera concorrente è in qualche modo equivalente (?) a quello che si otterrebbe se le transazioni fossero eseguite una dopo l altra. La teoria della concorrenza cerca di definire il concetto di equivalenza di scheduling (sequenza di operazioni di I/O) in maniera più o meno indipendente dal risultato che esse producono. Essa, inoltre, fornisce tecniche per evitare le anomalie delle transazioni concorrenti. Transazione BoT ri(x) ri (y) wi (x) ri (z) wi (y) wi (z) C EoT Commit Proiezione. Tecnologia di un DBMS 11

13 Anom alie delle Transazioni Conc orrent i T1 BoT r(x) x = x+1 Perdita di Update T2 BoT r(x) x = x+1 w(x) commit EoT T1 BoT r(x) r(y) Update Fantasma T2 BoT r(y) y = y-500 r(z) z = z+500 w(y) w(z) commit EoT w(x) commit EoT r(z) somma=x+y+z commit EoT Tecnologia di un DBMS 12

14 Anom alie delle Transazioni Conc orrent i Letture Sporche T2 T1 BoT r(x) x = x + 1 w(x) abort EoT BoT r(x) x = x+1 w(x) commit EoT Letture Inconsistenti T1 BoT r(x) r(x) commit EoT T2 BoT r(x) x = x+1 w(x) commit EoT Tecnologia di un DBMS 13

15 View Equivalenza Legge da: ri(x) legge-da wj(y) x = y e i<>j; nello scheduling ri segue wj; non esiste wk(x) tra le operazioni Scritture finali: wk(x) è una scrittura finale se nello scheduling non esiste alcuna scrittura su x successiva a k. Due scheduling sono view-equivalenti se, oltre ad effettuare le stesse operazioni, hanno le stesse relazioni legge-da e le stesse scritture finali. Tecnologia di un DBMS 14

16 T1 T2 T1 BoT Update CC set saldo = 0 Commit EoT w 1 (saldo) r 2 (saldo) W 2 (saldo) T2 BoT Select saldo into Lsaldo Lsaldo = Lsaldo + 30 Update CC set saldo = Lsaldo Commit EoT S1 = w 1 (saldo) r 2 (saldo) w 2 (saldo) S2 = r 2 (saldo) w 2 (saldo) w 1 (saldo) S3 = r 2 (saldo) w 1 (saldo) w 2 (saldo) Tecnologia di un DBMS 15

17 View Serializzabilit à Uno scheduling si dice view serializzabile se è viewequivalente ad almeno uno scheduling seriale. Tale equivalenza è la più generale in assoluto: due scheduling view-equivalenti producono lo stesso risultato. Problemi: verificare se due scheduling sono view-equivalenti è un problema semplice; verificare se è uno scheduling e view-serializzabile è un problema NP-Completo; le transazioni arrivano a istanti non specificati. Tecnologia di un DBMS 16

18 Conflic t Equivalenza Diminuiamo il numero di scheduling ammissibili restringendo il concetto di equivalenza. Conflitto l azione ai(x) è in conflitto con l azione aj(y) sse: i <> j; x = y; almeno une delle due è una write; (ri(x),wj(x)) (wi(x),wj(x)) (wi(x) rj(x)) Tecnologia di un DBMS 17

19 Conflic t Equivalenza Due scheduling sono conflict-equivalenti sse, oltre a presentare le stesse operazioni, hanno gli stessi conflitti. (ri(x),wj(x)) <> (wj(x) ri(x)) Uno scheduling è conflict- serializzabile se è conflict equivalente ad uno scheduling seriale. Esempio S0 = r1(x) r2(y) w1(y) r3(y)r3(z)w2(x) w3(z) (r1(x), w2(x)), (r2(y),w1(y)), (w1(y),r3(y)) Tecnologia di un DBMS 18

20 T1 T2 T3 Problemi: Verificare se un grafo è aciclico è un problema semplice. Gestire il Grafo è complicato Le transazioni arrivano a istanti non specificati. Nei casi reali non conosco cosa vuole fare la transazione. Tecnologia di un DBMS 19

21 Una soluzione: il prot oc ollo 2PL Lock: bloccare una risorsa che vogliamo utilizzare; lock condiviso (per operazioni di lettura); lock esclusivo (per operazioni di scrittura); r_lock, w_lock, unlock. Lo scheduler diventa un lock manager che riceve richieste di lock e decide il da farsi. Transazione ben formata rispetto al locking: ogni operazioni di lettura è preceduta da un r_lock e seguita da un unlock; ogni operazioni di scrittura è preceduta da un w_lock e seguita da un unlock; proprietà garantita di compilatori. Tecnologia di un DBMS 20

22 Stato R_locked W_locked Free Richiesta R_lock OK / r_locked NO / W_locked OK / r_locked W_lock NO/ r_locked NO / w_locked OK / w_locked Unlock OK / dipende OK / free error I lock garantiscono che sui dati si operi in maniera mutuamente esclusiva. Non garantiscono in alcun modo la serializzabilità. Tecnologia di un DBMS 21

23 Update Fantasma T1 BoT RL(x) /r(x) /UL(x) RL(y) / r(y) /UL(y) T2 BoT RL(y) / r(y) /UL(y) y = y-500 RL(z) / r(z) / UL(z) z = z+500 WL(y) / w(y) / UL(y) WL(z) / w(z) / UL(z) commit EoT RL(z) / r(z) / UL(z) somma=x+y+z commit EoT Tecnologia di un DBMS 22

24 Prot oc ollo di loc k ing a 2 fasi Una transazione, dopo aver rilasciato un lock, non può acquisirne altri. In una transazione esiste allora una fase crescente (in cui i lock vengono acquisiti) ed una fase calante, in cui i lock vengono rilasciati. E concesso l incremento di lock. VSR CSR 2PL Tecnologia di un DBMS 23

25 T1 BoT r(x) x = x+1 w(x) commit EoT Perdita di Update T2 BoT r(x) x = x+1 w(x) commit EoT T1 BoT r(x) w(x) abort EoT Letture Sporche T2 BoT r(x) x = x+1 w(x) commit EoT Tecnologia di un DBMS 24

26 2PL st ret t o Il problema è legato all ipotesi di Commit Proiezione che è alla base della teoria della concorrenza. Nei sistemi reali tale ipotesi deve, per forza di cose, essere abbandonata. 2PL stretto: al 2PL si aggiunge l ulteriore condizione che le risorse possono essere rilasciate solo dopo il commit/abort. Tecnologia di un DBMS 25

27 Deadloc k Il meccanismo dei lock introduce un problema: siano T1 e T2 due transazioni; supponiamo che entrambe operino in scrittura su 2 oggetti x e y; T1 blocca x in scrittura; T2 blocca y in scrittura; T1 aspetta che T2 liberi y; T2 aspetta che T1 liberi x. La situazione può durare all infinito. Tecnologia di un DBMS 26

28 Deadloc k : 3 soluzioni possibili Prevention: Tecnica di prevenzione esatta: le transazione acquisiscono le risorse di cui hanno bisogno in un colpo solo; se qualche risorsa non è disponibile, non viene assegnata nessuna risorsa. Problemi: non sempre una transazione sa in partenza ciò di cui avrà bisogno; si rischia di bloccare troppi oggetti inutilmente. Tecnologia di un DBMS 27

29 Prevention Tecnica approssimata: tutte le transazioni richiedono i lock nello stesso ordine; non sempre la transazione conosce tutto quello di cui avrà bisogno; non tutti i deadlock sono eliminati. Tecnica approssimata: ad ogni transazione è associato un timestamp; se un lock non è concesso, la transazione aspetta solo se essa è più giovane della transazione che detiene il lock; non tutti i lock sono eliminati. Tecnologia di un DBMS 28

30 Detection: Non si pongono vincoli alle transazioni. Ad intervalli prefissati, o quando succede qualcosa, il contenuto della tabella dei lock è esaminato e comparato con le richieste pendenti. Si costruisce un grafico delle richieste. Se in tale grafico esiste un ciclo, c è un deadlock. Il ciclo deve essere spezzato uccidendo almeno una transazione. Tecnologia di un DBMS 29

31 Time-out: E la tecnica più semplice e più usata. Ad richiesta di lock è associato un tempo massimo di attesa. Scaduto tale tempo, la richiesta si intende rifiutata e la transazione uccisa. Tecnologia di un DBMS 30

32 Cont rollo di c onc orrenza c on Tim est am ps Ad ogni transazione viene assegnato un identificativo numerico crescente nel tempo Transazioni successive hanno identificativi via via maggiori. Ad ogni oggetto del DB viene associato WTM(x), timestamp dell ultima transazione che ha scritto l oggetto. RTM(x), timestamp dell ultima transazione che ha letto l oggetto. Tecnologia di un DBMS 31

33 Allo scheduler la transazione con TS ts invia richieste del tipo read (x,ts) Se ts < WTM(x), la richiesta non può essere soddisfatta e la transazione richiedente viene uccisa. Altrimenti la richiesta è accetta e RTM(x) è posto pari al massimo tra ts e RTM(x) stesso. write(x,ts) Se ts < WTM(x) oppure ts < RTM(x) la transazione viene uccisa. Altrimenti la richiesta è accetta, WTM(x) è posto pari a ts. Tecnologia di un DBMS 32

34 Funziona solo nell ipotesi di commit-proiezione. Nei casi reali le scritture vanno bufferizzate in RAM ed eseguite solo dopo il commit. Chi deve leggere deve aspettare il commit (il lock in qualche modo rientra). Vengono uccise molte transazioni. 2PL VSR CSR TS Tecnologia di un DBMS 33

35 Livello di isolam ent o delle Transazioni Il livello di isolamento di una transazione determina il comportamento della stessa. Uncommitted Read La transazione accetta di leggere dati modificati da una transazione che non ha ancora fatto il commit (ignora i lock esclusivi e non acquisisce lock in lettura). Committed Read La transazione non legge dati cambiati da una transazione che non ha ancora fatto il commit. Se però essa legge due volte lo stesso dato, può trovare dati diversi. Tecnologia di un DBMS 34

36 Repeatable Read Si aggiunge al commited read la caratteristica che, se un dato è letto due volte, si avrà sempre lo stesso risultato. Serializable Si aggiunge al Repeatable Read la caratteristica che, se una query è fatta due volte, non vengono aggiunte righe. Tecnologia di un DBMS 35

37 Unc om m it ed Read Connection 1 Connection 2 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED BEGIN TRAN UPDATE authors SET au_lname='smith' SELECT au_lname FROM authors WHERE au_lname='smith' ROLLBACK TRAN SELECT au_lname FROM authors WHERE au_lname='smith' Tecnologia di un DBMS 36

38 Com m it ed Read Connection 1 Connection 2 SET TRANSACTION ISOLATION LEVEL READ COMMITTED BEGIN TRAN SELECT au_lname FROM authors WHERE au_lname='smith' UPDATE authors SET au_lname='smith' SELECT au_lname FROM authors WHERE au_lname='smith' COMMIT TRAN Tecnologia di un DBMS 37

39 Repeat able Read Connection 1 Connection 2 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ BEGIN TRAN SELECT au_lname FROM authors WHERE au_lname='smith' UPDATE authors SET au_lname='jones' (la query si blocca) SELECT au_lname FROM authors WHERE au_lname='smith' COMMIT TRAN SELECT au_lname FROM authors Tecnologia di un DBMS 38

40 Serializable (1/2) Connection 1 Connection 2 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ BEGIN TRAN SELECT title FROM titles WHERE title_id LIKE 'BU%' INSERT titles VALUES ('BU2000', 'Inside SQL Server 2000', 'popular_comp', '0877', 59.95, 5000, 10, 0, null, 'Sep 10, 2000') SELECT title FROM titles WHERE title_id LIKE 'BU%' --Risultato diverso! COMMIT TRAN Tecnologia di un DBMS 39

41 Serializable (2/2) Connection 1 Connection 2 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRAN SELECT title FROM titles WHERE title_id LIKE 'BU%' INSERT titles VALUES ('BU3000', 'Itzik and His Black Belt SQL Tricks', 'popular_comp', '0877', 39.95, 10000, 12, 15000, null, 'Sep ') (la query si blocca) SELECT title FROM titles WHERE title_id LIKE 'BU%' --Risultato uguale! COMMIT TRAN Tecnologia di un DBMS 40

42 Repet eable Read / Serializable Un modo alternativo per comprendere la differenza tra questi livelli di isolamento è guardare alle modifiche possibili una volta che siano stati modificati dati in un altra transazione. Nel REPEATABLE READ: Le righe realmente lette non possono essere modificate o cancellate. Possono però essere aggiunte righe anche nell intervallo specificato nella clausola Where della transazione che legge. Tutti i dati letti sono read_locked; Un insert non interferisce con questi lock. Nel SERIALIZABLE: Una volta che una transazione ha letto dati non sono possibili modifiche su di essi. Non sono possibili modifiche neanche all interno dell intervallo coperto nella lettura. SERIALIZABLE locka intervalli di dati, inclusi quelli di fatto non esistono, impedendo cioè che vengano effettuati insert. Tecnologia di un DBMS 41

43 Durabilit y (Persist enza) La Durability consente di reagire a: Guasti di Sistema Il server ha subito un guasto/malfunzionamento che non ha danneggiato il dispositivo su cui è memorizzato il DB. Guasti di Dispositivo Il dispositivo su cui è memorizzato il DB si è danneggiato. Tecnologia di un DBMS 42

44 Log File La persistenza è assicurata tramite il file di Log. Il Log file è un file sequenziale memorizzato su memoria stabile. In esso esistono due tipi di di record: Record di Transazione. Record di Sistema. Tecnologia di un DBMS 43

45 Rec ord di Transazione Registrano le attività di ogni transazione, nell ordine in cui dette attività sono eseguite. Ad ogni transazione è allora assegnato un identificativo. Record di Begin, Commit, Abort: Contengono l identificativo della transazione ed il tipo di operazione. Record di Update: Contengono l identificativo della transazione, l identificativo dell oggetto su cui si effettua l update, lo stato prima dell update (BS) e lo stato dopo l update (AS). Record di Insert. Record di Delete. Tecnologia di un DBMS 44

46 Rec ord di Sist em a Record di dump: Segnale che è stato effettuato un dump (copia di sicurezza su memoria stabile) del DB. Record di checkpoint: Il checkpoint è una operazione che viene effettuata con una certa frequenza da un DBMS. In tale istante vengono riportato su disco le pagine assegnate a transazioni che hanno effettuato il commit. Alla fine viene scritto il record di checkpoint in cui si riportano le transazioni attive a quell istante. Tecnologia di un DBMS 45

47 Ripresa a Caldo Viene effettuato in risposta ad un guasto di sistema. Si accede all ultimo blocco del log e si ripercorre il file all indietro fino all ultimo record di chekpoint. Si costruiscono due insiemi: Undo e Redo. L insieme di Redo è inizialmente vuoto mentre l insieme di Undo contiene le transazioni presenti nel record di chekpoint. Tecnologia di un DBMS 46

48 Si ripercorre il log in avanti: Se si incontra un Commit, la transazione corrispondente viene spostata da Undo in Redo. Se si incontra un Begin, la transazione corrispondente viene inserita nell insieme di Undo. Si torna all indietro fino al Begin della transazione più vecchia fra tutte quelle presenti nei 2 insiemi. Si ripercorre il Log all indietro disfacendo le operazione delle transazioni in UNDO Si ripercorre il Log in avanti rifacendo le operazioni delle transazioni in Redo Tecnologia di un DBMS 47

49 Ripresa a Freddo Viene effettuato in risposta ad un guasto di dispositivo. Si ripristina il DB con l ultima copia. Si percorre il log in avanti, dall ultimo dump, rifacendo tutte le operazioni riportate. Si effettua una ripresa a caldo. Tecnologia di un DBMS 48

50 Guasto Funzionamento Normale Stop Boot KO Boot OK Boot Ripristino E essenziale l idempotenza delle operazioni di ripristino Tecnologia di un DBMS 49

51 Regola WAL e Com m it Prec edenza Il corretto funzionamento del meccanismo presuppone che: La parte BS sia scritta nel Log prima di effettuare modifiche (WAL-Write Ahead Log). La parte AS sia scritta prima del Commit (Commit Precedenza) In genere il record è scritto in un colpo solo prima di effettuare modifiche sulla Base Dati (WAL semplificata) e prima del Commit (Commit Precedenza semplificata). Tecnologia di un DBMS 50

52 This document was created with Win2PDF available at The unregistered version of Win2PDF is for evaluation or non-commercial use only.

Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. Forme normali. Basi di dati direzionali

Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. Forme normali. Basi di dati direzionali Le transazioni 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

Dettagli

Le transazioni. Update CC set saldo = saldo + 25 where ccnum = Update CC set saldo = saldo 25 where ccnum = 26488

Le transazioni. Update CC set saldo = saldo + 25 where ccnum = Update CC set saldo = saldo 25 where ccnum = 26488 Le transazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 (paragrafo 2.1) Appunti dalle lezioni Transazione ContiCorrenti(ccnum,saldo) Update CC set saldo = saldo +

Dettagli

La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a:

La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a: La durability Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Durability (Persistenza) I dati modificati da una transazione che ha fatto il commit non

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che

Dettagli

Basi di dati II. Gestione delle transazioni LE TRANSAZIONI. Definizione di transazione. Differenza fra applicazione e transazione

Basi di dati II. Gestione delle transazioni LE TRANSAZIONI. Definizione di transazione. Differenza fra applicazione e transazione Basi di dati II 2- LE TRANSAZIONI 1 2 Definizione di transazione Differenza fra applicazione e transazione Transazione: parte di programma caratterizzata da un inizio (begin-transaction, start transaction

Dettagli

Esempio di sistema informativo

Esempio di sistema informativo Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini Esempio di sistema informativo GESTIONE

Dettagli

Tecnologia delle Basi di Dati

Tecnologia delle Basi di Dati Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Tecnologia delle Basi di Dati Credits to: Dr. A. Poggi UniRoma1 Transazioni Una transazione è una unità elementare di lavoro svolta

Dettagli

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

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che

Dettagli

SQL Transazioni. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

SQL Transazioni. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL Transazioni Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Transazioni Le Transazioni sono unità elementari di lavoro sulla base di dati di cui si vogliono garantire proprietà di

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni 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

Dettagli

Parte VII Gestione delle transazioni

Parte VII Gestione delle transazioni Parte VII Gestione delle transazioni Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VII - 1 Funzioni del DBMS Gestione dei dati: cura la memorizzazione permanente dei dati ed il loro accessso Gestione

Dettagli

Transazioni. Transazioni. Stati di una transazione. Transazioni

Transazioni. Transazioni. Stati di una transazione. Transazioni Transazioni Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Transazioni Una transazione

Dettagli

Funzioni del DBMS. Transazioni. Transazioni: esempio. Parte VII. Gestione delle transazioni

Funzioni del DBMS. Transazioni. Transazioni: esempio. Parte VII. Gestione delle transazioni Funzioni del DBMS Parte VII Gestione delle transazioni Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VII - 1 Gestione dei dati: cura la memorizzazione permanente dei dati ed il loro accessso Gestione

Dettagli

Transazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Transazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Transazioni Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti sulla

Dettagli

ARCHITETTURA DI UN B.D.M.S. Parte III Il Controllo di Affidabilità

ARCHITETTURA DI UN B.D.M.S. Parte III Il Controllo di Affidabilità ARCHITETTURA DI UN B.D.M.S. Parte III Il Controllo di Affidabilità Michele de Nittis Generalità Il controllo di affidabilità (CA) è quel servizio che provvede a garantire le proprietà di atomicità e persistenza

Dettagli

Affidabilità e Concorrenza

Affidabilità e Concorrenza Affidabilità e Concorrenza Affidabilità Resistenza ai guasti Concorrenza Efficienza: più transazioni contemporanee Senza introdurre fenomeni indesiderati 2 Transazione Unità elementare di lavoro Ben formata:

Dettagli

La gestione della concorrenza

La gestione della concorrenza La gestione della concorrenza R. A. Elmasri, S. B. Navathe (Addison Wesley - Pearson) Sistemi di Basi di dati Complementi Capitolo 1 e Capitolo 2 Appunti dalle lezioni Transazione Transazioni e tecnologie

Dettagli

Gestione delle transazioni. Basi di dati. Elena Baralis 2007 Politecnico di Torino 1 D B M G D B M G 2. Linguaggio SQL: costrutti avanzati

Gestione delle transazioni. Basi di dati. Elena Baralis 2007 Politecnico di Torino 1 D B M G D B M G 2. Linguaggio SQL: costrutti avanzati Linguaggio SQL: costrutti avanzati D B M G Introduzione Transazioni in SQL Proprietà delle transazioni D B M G 2 2007 Politecnico di Torino 1 D B M G Esempio applicativo Operazioni bancarie operazione

Dettagli

Basi di Dati: Complementi Docente: Prof. Pierangela Samarati

Basi di Dati: Complementi Docente: Prof. Pierangela Samarati Basi di Dati: Complementi Docente: Prof. Pierangela Samarati Appello di Maggio online 22 Maggio 2010 Tempo a disposizione 2:00h Soluzioni Domanda 1) Elencare e descrivere in modo completo le proprietà

Dettagli

Intoduzione alle transazioni e alle proprieta ACID delle transazioni

Intoduzione alle transazioni e alle proprieta ACID delle transazioni Basi di Dati Complementi Parte 2: Tecnologie per MS Parte 2.4: Introduzione alle transazioni e Intoduzione alle transazioni e alle proprieta ACID delle transazioni @ Carlo Batini 2006 1 @ Carlo Batini

Dettagli

Parte 2 Esercitazione sulla gestione della concorrenza

Parte 2 Esercitazione sulla gestione della concorrenza Gestione dei dati Parte 2 Esercitazione sulla gestione della concorrenza Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

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

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill /XFLGLVXOFRQWUROORGHOODFRQFRUUHQ]D Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill $QRPDOLD /RVW8SGDWH Si considerino le due transazioni identiche: W1

Dettagli

Basi di dati Architetture e linee di evoluzione. Gestione delle transazioni. Sistema di Gestione di Basi di Dati. Le Basi di Dati sono GRANDI

Basi di dati Architetture e linee di evoluzione. Gestione delle transazioni. Sistema di Gestione di Basi di Dati. Le Basi di Dati sono GRANDI Sistema di Gestione di Basi di Dati Basi di dati Architetture e linee di evoluzione Capitolo 2 Gestione delle transazioni i Un Sistema di Gestione di Basi di Dati (DataBase Management System - DBMS) è

Dettagli

La gestione della concorrenza in pratica

La gestione della concorrenza in pratica La gestione della concorrenza in pratica Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Soluzioni possibili Uno scheduling è considerato corretto se

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 04.8.SQL.transazioni.pdf Esecuzione seriale di transazioni Un DBMS, dovendo supportare l esecuzione di diverse transazioni che

Dettagli

GESTIONE DELLE TRANSAZIONI

GESTIONE DELLE TRANSAZIONI GESTIONE DELLE TRANSAZIONI Transazioni! L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS! Poiché gli accessi al disco sono frequenti e relativamente lenti, è

Dettagli

Gestione della Concorrenza

Gestione della Concorrenza Corso di Complementi di Basi di Dati Gestione della Concorrenza Angelo Montanari 1 Anomalie delle transazioni concorrenti -1 Perdita di aggiornamento Lettura sporca Aggiornamento fantasma 2 2 Anomalie

Dettagli

TRANSAZIONI TRANSAZIONI

TRANSAZIONI TRANSAZIONI TRANSAZIONI Concetto di transazione, comandi di transazione, proprietà ACID delle transazioni Transazioni concorrenti Esecuzione seriale e serializzabile Conflict-equivalenza, grafo dei conflitti Protocollo

Dettagli

Serializable Snapshot Isolation (SSI) in PostgreSQL 9.1

Serializable Snapshot Isolation (SSI) in PostgreSQL 9.1 Serializable Snapshot Isolation (SSI) in PostgreSQL 9.1 Marco Nenciarini Italian PostgreSQL Users Group www.itpug.org www.postgresql.org Chi sono? DBA, sviluppatore e sysadmin presso 2ndQuadrant Database

Dettagli

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

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. Capitolo 2 Esercizio 2.1 Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. 1. r1(x), w1(x), r2(x), w2(y), a1, c2 2. r1(x),

Dettagli

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale 45 6.6 Regioni Critiche Condizionali 6.7 Monitor Costrutti linguistici inventati per evitare i problemi di programmazione che facilmente si fanno con i semafori Attenzione con i thread: in tale ambiente

Dettagli

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

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

Tecnologia di un database server

Tecnologia di un database server Tecnologia di un database server Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2005/2006 docente: ing. Corrado Aaron

Dettagli

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati Sicurezza nelle basi di dati Unità D3 Sicurezza e concorrenza nelle basi di dati Una base di dati è sicura quando soddisfa i seguenti parametri: regola l accesso ai dati protetti; evita la modifica o la

Dettagli

Recovery manager Gestore della affidabilità

Recovery manager Gestore della affidabilità Riferimenti Basi di Dati Complementi Parte 2: Tecnologie per DBMS Parte 2.5: Recovery Manager Trasparenze parte Recovery manager Basi di Dati Atzeni et al. - Capitolo 2.1, 2.2 Anche: Garcia Molina, Ullman,

Dettagli

1- AFFIDABILITA. Esercizio n.1

1- AFFIDABILITA. Esercizio n.1 1- AFFIDABILITA Esercizio n.1 Il check-point prevede le seguenti attività (durante le quali non sono ammessi commit e abort): 1. scrittura in memoria stabile (force) di tutte le pagine "sporche" del buffer

Dettagli

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano tratto da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati

Dettagli

Parte 3 Gestione del buffer e gestione del recovery

Parte 3 Gestione del buffer e gestione del recovery Gestione dei dati Parte 3 Gestione del buffer e gestione del recovery Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

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

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza Michele de Nittis Generalità A livello astratto un DataBase Management System può essere suddiviso nei seguenti moduli: OTTIMIZZATORE FILE

Dettagli

Esempio di sistema informativo

Esempio di sistema informativo Basi di dati vol.2 Capitolo 2 Gestione delle transazioni 26/05/2005 Esempio di sistema informativo GESTIONE IMPIANTI IMMISSIONE DI ORDINI DI SERVIZIO CLIENTI GESTIONE ELENCHI ABBONATI GESTIONE RETE AMMINISTRAZIONE

Dettagli

Meccanismi per la Gestione efficiente di transazioni in un DBMS

Meccanismi per la Gestione efficiente di transazioni in un DBMS Meccanismi per la Gestione efficiente di transazioni in un DBMS Transazioni Una Transazione è una sequenza di azioni di lettura e scrittura della base di dati e di elaborazioni di dati in memoria temporanea,

Dettagli

1. in alcuni sistemi si prende nota delle transazioni attive e si rifiutano (momentaneamente) nuovi commit

1. in alcuni sistemi si prende nota delle transazioni attive e si rifiutano (momentaneamente) nuovi commit AFFIDABILITA Esercizio n. 1 Il check-point prevede le seguenti attività (durante le quali non sono ammessi commit e abort): 1. scrittura in memoria secondaria (force) di tutte le pagine "sporche" del buffer

Dettagli

Esempio di sistema informativo

Esempio di sistema informativo Basi di dati vol.2 Capitolo 2 Gestione delle transazioni 12/10/2003 Esempio di sistema informativo GESTIONE IMPIANTI IMMISSIONE DI ORDINI DI SERVIZIO CLIENTI GESTIONE ELENCHI ABBONATI GESTIONE RETE AMMINISTRAZIONE

Dettagli

Basi di Dati Complementi. 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager

Basi di Dati Complementi. 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager Basi di Dati Complementi 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager Andrea Maurino 2007 2008 Parte del materiale è stato fornito dal prof. Batini Fonti Libro Architetture

Dettagli

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

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione Transazioni Transazioni Per mantenere le informazioni consistenti è necessario controllare opportunamente le sequenze di accessi e aggiornamenti ai dati Gli utenti interagiscono con la base di dati attraverso

Dettagli

L evoluzione della specie

L evoluzione della specie DBMS Data Base Management System Dai dati grezzi ad informazioni strutturate 1 L evoluzione della specie Strumenti di Business Intelligence Data Warehouse Data Mining Data Base Management System (DBMS)

Dettagli

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Architetture Distribuite per Basi di Dati Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Architetture Distribuite Parallelismo: usato per ottimizzare le prestazioni di componenti/sistemi

Dettagli

DB - Cenni sulla gestione delle transazioni

DB - Cenni sulla gestione delle transazioni transazioni Cenni sulla gestione delle transazioni in DBMS transazioni Cenni sulla gestione delle transazioni in DBMS Basato sulle slides di transazioni Cenni sulla gestione delle transazioni in DBMS Basato

Dettagli

Basi di dati II Esame 22 settembre 2017 Compito A Tempo a disposizione: due ore.

Basi di dati II Esame 22 settembre 2017 Compito A Tempo a disposizione: due ore. Basi di dati II Esame 22 settembre 2017 Compito A Tempo a disposizione: due ore. Cognome Nome Matricola Domanda 1 (20%) Considerare le relazioni R1 ed R2 e l indice I2 su R2 schematizzati sotto. I riquadri

Dettagli

Basi di dati II 21 febbraio 2017 Tempo a disposizione: un ora e quarantacinque minuti.

Basi di dati II 21 febbraio 2017 Tempo a disposizione: un ora e quarantacinque minuti. Tempo a disposizione: un ora e quarantacinque minuti. Cognome Nome Matricola Domanda 1 (15%) Considerare un sistema con dischi con N = 1000 blocchi per traccia tempo medio di posizionamento della testina

Dettagli

Capitolo 6. Esercizio 6.1

Capitolo 6. Esercizio 6.1 Capitolo 6 Esercizio 6.1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome, Città Indirizzo)

Dettagli

Basi di Dati: Strutture ed Algoritmi Appelli del 2001

Basi di Dati: Strutture ed Algoritmi Appelli del 2001 Basi di Dati: Strutture ed Algoritmi Appelli del 2001 Appello del 15.1.2001 1. Si considerino la base di dati: Studenti(Matricola, Nome, Area, Altro) Frequenze(Matricola, Codice, Semestre) Corsi(Codice,

Dettagli

Gestione delle transazioni

Gestione delle transazioni Gestione delle transazioni Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: transazioni.pdf Sistemi Informativi L-B Cos è una transazione? Una

Dettagli

RM - I server che partecipano alla decisione: gestori di risorse TM Processo coordinatore: gestore della transazione

RM - I server che partecipano alla decisione: gestori di risorse TM Processo coordinatore: gestore della transazione 02 Gennaio 2010 Il 2-phase-commit è un protocollo per il commit distribuito e permette a una transazione di prendere la decisione corretta di commit o abort su tutti i nodi che partecipano alla transazione.

Dettagli

Tecnologia di un Database Server (centralizzato) Introduzione generale

Tecnologia di un Database Server (centralizzato) Introduzione generale Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

Lezione 1. Introduzione ai sistemi di basi di dati

Lezione 1. Introduzione ai sistemi di basi di dati Lezione 1 Introduzione ai sistemi di basi di dati Pag.1 Testi consigliati Sistemi di Basi di Dati, di Raghu Ramakrishnan e Johannes Gehrke, McGraw Hill, 2004 (http://www.ateneonline.it/rama) Database Management

Dettagli

Gestione delle transazioni

Gestione delle transazioni Gestione delle transazioni Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: transazioni.pdf Sistemi Informativi L-B Cos è una transazione? Una

Dettagli

Cognome Nome Matricola Ordin.

Cognome Nome Matricola Ordin. Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con

Dettagli

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

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità Affidabilità Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità Angelo Montanari Dipartimento di Matematica e Informatica Università

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>);

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>); SQL AVANZATO VIEW VISTE UTENTE VIEW (Viste utente) Le VIEW sono tabelle virtuali il cui contenuto (colonne e righe) è definito da una query Le VIEW sono normalmente utilizzate per: analizzare, semplificare

Dettagli

Basi di dati II Esame 20 settembre 2013 Compito A

Basi di dati II Esame 20 settembre 2013 Compito A Basi di dati II Esame 20 settembre 2013 Compito A Rispondere su questo fascicolo. Tempo a disposizione: due ore. Cognome Nome Matricola Domanda 1 (15%) Per ciascuno degli schedule sotto riportati, indicare,

Dettagli

Esercitazione 10 SQL: transazioni

Esercitazione 10 SQL: transazioni Esercitazione 10 SQL: transazioni Sistemi Informativi T Versione elettronica: L10.transazioni.pdf Transazioni Le transazionisono unità logiche di elaborazione per cui il DBMS garantisce le proprietà ACID(Atomicity,

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Concorrenza Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Angelo Montanari Dipartimento di Matematica e Informatica Università

Dettagli

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base

Dettagli

BASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati:

BASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati: BASI DI DATI DISTRIBUITE Esercizio n. 1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome,

Dettagli

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

Sistemi mono o multiutente. Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente. TRANSAZIONI Introduzione alla gestione delle transazioni 2 Sistemi mono o multiutente Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente.

Dettagli

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com 1 Tecnologia di un Database Server - DEFINIZIONI - DATABASE SERVER: E un sistema dedicato alla gestione dei dati.

Dettagli

Azioni atomiche. Definizioni. Proprietà

Azioni atomiche. Definizioni. Proprietà Azioni atomiche Definizioni Azione atomica: strumento di alto livello per strutturare programmi concorrenti e/o distribuiti, tolleranti a vari tipi di malfunzionamenti; o Realizzata con strumenti linguistici

Dettagli

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

Corso di Sistemi di Gestione di Basi di Dati. Esercitazione sul controllo di concorrenza 12/02/2004 Corso di Sistemi di Gestione di Basi di Dati Esercitazione sul controllo di concorrenza 12/02/2004 Dott.ssa Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma

Dettagli

TRANSAZIONI DISTRIBUITE TRANSAZIONI

TRANSAZIONI DISTRIBUITE TRANSAZIONI TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità

Dettagli

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1 Gestione delle Transazioni Parte terza Argomenti: Gestore del Buffer,Ripristino, File di Log, Protocolli per il ripristino, Savepoint, Shadow Pages, Gestione del Buffer Obiettivi: Minimizzare gli accessi

Dettagli

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

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché

Dettagli

Concorrenza, lucidi integrativi

Concorrenza, lucidi integrativi Concorrenza, lucidi integrativi Paolo Atzeni, gennaio 2001 Anomaly 5: Phantom Transaction t 1 Transaction t 2 bot read salaries of employees in dept A and compute average bot insert new employee in Dept

Dettagli

Basi di Dati Distribuite

Basi di Dati Distribuite 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

Dettagli

Basi di Dati Complementi Esercizi Esercizi su concurrency control

Basi di Dati Complementi Esercizi Esercizi su concurrency control Basi di Dati Complementi Esercizi Esercizi su concurrenc control Esercizio. Dati gli schedule : s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 a. specificare, con una breve giustificazione, a quali

Dettagli

This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing

Dettagli

Gestione delle transazioni

Gestione delle transazioni Concetto di transazione Una transazione è vista come un'unità logica di elaborazione : per consentire transazioni concorrenti e per garantire la base di dati da malfunzionamenti sono necessari opportuni

Dettagli

Componenti di un DBMS

Componenti di un DBMS Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: Controllore di Concorrenza Gestore

Dettagli

Linguaggio SQL: costrutti avanzati

Linguaggio SQL: costrutti avanzati Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione

Dettagli

Basi di dati Architetture e linee di evoluzione

Basi di dati Architetture e linee di evoluzione Basi di dati Architetture e linee di evoluzione Paolo Atzeni Stefano Ceri Piero Fraternali Stefano Paraboschi Riccardo Tarlane web site McGraw-Hill IUAV - VENEZIA H 9891 BIBLIOTECA CENTRALE I J ()(),,.

Dettagli

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

Controllo concorrenza

Controllo concorrenza Controllo concorrenza Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio. Dati gli schedule: s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 Specificare, con una breve giustificazione,

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

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

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 Testo: Sviluppare semplici programmi che permettano di verificare i diversi livelli di isolamento previsti da SQL

Dettagli

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Nel caso di successo, i risultati delle operazioni effettuate devono essere resi definitivi; invece,

Dettagli

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

Cap. 7 -Trigger e loro uso

Cap. 7 -Trigger e loro uso 1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un

Dettagli

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

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 Transazioni in SQL Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 1 Introduzione Informalmente, una transazione è una sequenza (arbitrariamente lunga) di operazioni

Dettagli

Basi di dati II compito A 19 settembre 2018 Tempo a disposizione: un ora e quarantacinque minuti. Cognome Nome Matricola

Basi di dati II compito A 19 settembre 2018 Tempo a disposizione: un ora e quarantacinque minuti. Cognome Nome Matricola Tempo a disposizione: un ora e quarantacinque minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare lo scenario a fianco in cui tre client diversi inviano richieste ad un gestore della concorrenza.

Dettagli

Basi di dati II, primo modulo 6 settembre 2011

Basi di dati II, primo modulo 6 settembre 2011 Basi di dati II, primo modulo 6 settembre 2 Rispondere su questo fascicolo. Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda (2%) Considerare i due seguenti scenari in ciascuno

Dettagli

Cap. 1-I 1 I sistemi informatici

Cap. 1-I 1 I sistemi informatici Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento

Dettagli