Affidabilità e Concorrenza

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Affidabilità e Concorrenza"

Transcript

1 Affidabilità e Concorrenza Affidabilità Resistenza ai guasti Concorrenza Efficienza: più transazioni contemporanee Senza introdurre fenomeni indesiderati 2

2 Transazione Unità elementare di lavoro Ben formata: Sequenza di operazioni tra inizio (begin) e fine (commit o abort) Necessaria la concorrenza per avere transazioni in parallelo. 3

3 Lost update Transazione t1 r1(x) x = x + 1 w1(x) commit Transazione t2 r2(x) x = x + 1 w2(x) commit 4

4 Dirty read Transazione t1 r1(x) x = x + 1 w1(x) abort Transazione t2 r2(x) commit 5

5 Letture inconsistenti Transazione t1 r1(x) r1(x) commit Transazione t2 r2(x) x = x + 1 w2(x) commit 6

6 Aggiornamento fantasma Transazione t1 r1(x) r1(y) commit Transazione t2 r2(x) r2(y) x = x + 1 y = y - 1 w2(x) w2(y) commit 7

7 A. Ricerca di anomalie Indicare se le sequenze di operazioni possono produrre anomalie; i simboli c i e a i indicano l'esito (commit o abort) della transazione i. 8

8 A.1 r 1 (x) w 1 (x) r 2 (x) w 2 (y) a 1 c 2 Lettura Sporca: r 1 (x) w 1 (x) r 2 (x) w 2 (y) a 1 c 2 t 2 legge uno stato che non dovrebbe essere esposto, poiché t 1 si conclude con un abort. 10

9 A.2 r 1 (x) w 1 (x) r 2 (y) w 2 (y) a 1 c 2 Nessuna anomalia 12

10 A.3 r 1 (x) r 2 (x) r 2 (y) w 2 (y) r 1 (z) a 1 c 2 Nessuna anomalia 14

11 A.4 r 1 (x) r 2 (x) w 2 (x) w 1 (x) c 1 c 2 Perdita di aggiornamento r 1 (x) r 2 (x) w 2 (x) w 1 (x) c 1 c 2 L effetto di t 2 è sovrascritto e annullato da t 1, ma nessuna delle due transazioni legge valori inconsisenti 16

12 A.5 r 1 (x) r 2 (x) w 2 (x) r 1 (y) c 1 c 2 Nessuna anomalia 18

13 A.6 r 1 (x) w 1 (x) r 2 (x) w 2 (x) c 1 c 2 Nessuna anomalia 20

14 Controllo di concorrenza Schedule: Sequenza di operazioni r/w Scheduler: Accetta gli schedule che non generano errori e rifiuta gli altri Ipotesi [forte]: sappiamo già il risultato delle operazioni e rimuoviamo gli abort (commit-proiezione) 21

15 Schedule seriali e serializzabili Schedule seriali: azioni di ciascuna transazione in sequenza Schedule corretto se ha lo stesso risultato di uno schedule seriale: serializzabile. 22

16 Metodologie di controllo Teorici: View-serializzabilità (VSR) Conflict-serializzabilità (CSR) Pratici: Locking a due fasi (2PL) Timestamp (TS Singolo, TS Multi) 23

17 Metodologie di controllo VSR CSR 2PL TS 24

18 View-Serializzabile VSR Stesse scritture finali e legge-da di un qualsiasi altro schedule seriale. w0(x) r2(x) r1(x) w2(x) w2(z) w0(x) r1(x) r2(x) w2(x) w2(z) 25

19 B.1 Classificare il seguente schedule come non-vsr, VSR o CSR: r 1 (x) r 2 (y) w 3 (y) r 5 (x) w 5 (u) w 3 (s) w 2 (u) w 3 (x) w 1 (u) r 4 (y) w 5 (z) r 5 (z) 26

20 Consideriamo le operazioni relative a ogni risorsa separatamente S: w 3 U: w 5 w 2 w 1 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r 5 27

21 Costruzione Grafo Conflitti CSR Ogni nodo è una transazione Un arco orientato per ogni conflitto di tipo: read / write write / write write / read I CONFLITTI SI GENERANO ANCHE SE LE AZIONI NON SONO CONSECUTIVE 28

22 Consideriamo le operazioni relative a ogni risorsa 1 4 separatamente S: w U: w 5 w 2 w 1 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r 5 Si verifica dapprima l appartenenza a CSR: il grafo dei conflitti è aciclico: lo schedule è CSR (e quindi anche VSR) 30

23 Supponendo di aggiungere lo schedule r 2 (u) w 2 (s) come prefisso oppure come suffisso dello schedule precedente, classificare i due schedule risultanti. Aggiungiamolo come prefisso: r 2 (u) w 2 (s) r 1 (x) r 2 (y) w 3 (y) r 5 (x) w 5 (u) w 3 (s) w 2 (u) w 3 (x) w 1 (u) r 4 (y) w 5 (z) r 5 (z) 31

24 S: w 2 w 3 U: r 2 w 5 w 2 w X: r 1 r 5 w Y: r 2 w 3 r 4 Z: w 5 r 5 5 Il prefisso introduce 4 nuovi conflitti, dei quali uno solo causa un nuovo arco nel grafo, che diventa ciclico. Lo schedule NON è CSR. Sarà VSR? 32

25 S: w 2 w 3 U: r 2 w 5 w 2 w 1 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r 5 Lo schedule (seriale) S = t 2, t 5, t 1, t 3, t 4 ha le stesse legge-da e scritture finali, quindi lo schedule è VSR. Ma come individuare S a occhio? 33

26 Definizione: una scrittura w i (X) si dice cieca se non è l ultima azione sulla risorsa X e l azione successiva su X è una scrittura [w j (X)] Proprietà: ogni schedule S tale che S VSR ma S CSR ha, nel grafo dei conflitti, cicli a cui concorrono archi che corrispondono a coppie di scritture cieche. Tali scritture possono essere invertite senza impatto sulla relazione legge-da e sulle scritture finali (ma con l effetto di invertire un arco nel grafo dei conflitti). Con questi scambi si può rendere aciclico il grafo, e si può ispezionarlo per individuare uno schedule seriale view-equivalente a quello iniziale. 34

27 S: w 2 w 3 U: r 2 w 5 w 2 w 1 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r Il grafo precedente può essere reso aciclico operando uno scambio tra due scritture cieche S: w 2 w 3 U: r 2 w 2 w 5 w 1 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r

28 Lo schedule seriale S =t, t, t, t, t, indicato in precedenza, si può riconoscere corrispondente ad un cammino che tocca tutti i nodi del grafo dei conflitti dello schedule modificato. Ora mettiamo r 2 (u) w 2 (s) come suffisso: r (x) r (y) w (y) r (x) w (u) w (s) w (u) w (x) w (u) r (y) w (z) r (z) r 2 (u) w 2 (s) 37

29 S: w 3 w 2 U: w 5 w 2 w 1 r X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r Il nuovo grafo è ciclico: lo schedule NON è CSR Sarà VSR? 38

30 S: w 3 w 2 U: w 5 w 2 w 1 r 2 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r 5 Non è VSR infatti è piuttosto evidente che non è possibile decidere se t 2 debba precedere o seguire t 3 : nel primo caso w 2 (s) non sarebbe più finale, nel secondo caso si introdurrebbe una relazione r 2 (y) legge-da w 3 (y) non presente nello schedule da classificare. 39

31 S: w 3 w 2 U: w 5 w 2 w 1 r 2 X: r 1 r 5 w 3 Y: r 2 w 3 r 4 Z: w 5 r 5 Oppure basta considerare il sotto-schedule w 2 (u) w 1 (u) r 2 (u): nessuno schedule seriale potrà mai preservare la relazione r 2 (u) leggeda w 1 (u) evidenziata dalla freccia, poiché ogni schedule seriale avrà w 2 (u) e r 2 (u) adiacenti. 40

32 B.2 Classificare il seguente schedule come non-vsr, VSR o CSR: r 1 (x) r 4 (x) w 4 (x) r 1 (y) r 4 (z) w 4 (z) w 3 (y) w 3 (z) w 2 (t) w 2 (z) w 1 (t) w 5 (t) Se possibile, aggiungere e togliere una azione in modo da far cambiare classe allo schedule. 41

33 T: w 2 w 1 w 5 X: r 1 r 4 w 4 Y: r 1 w 3 Z: r 4 w 4 w 3 w Il grafo è ciclico (1,4,2 1,3,2 1,4,3,2). 2,1 è l unico arco comune a tutti e tre i cicli Lo schedule non è CSR sarà VSR? 43

34 T: w 2 w 1 w 5 X: r 1 r 4 w 4 Y: r 1 w 3 Z: r 4 w 4 w 3 w 2 Si riconosce agevolmente che lo schedule (seriale) t 1, t 4, t 3, t 2, t 5 è view-equivalente allo schedule dato, che quindi è VSR. Lo schedule seriale si intuisce a occhio, oppure si costruisce, ad esempio, notando che lo scambio tra w 2 (t) e w 1 (t) rende aciclico il grafo dei conflitti. 44

35 Togliendo l ultima operazione dello schedule [w 5 (t)] si ottiene l effetto di renderlo non-vsr (infatti w 1 (t) diventa finale per t, e non si può più agire sul grafo per derivarne uno aciclico, relativo a uno schedule diverso ma view-equivalente a quello dato). Alternativamente si può aggiungere, ad esempio, r 5 (t) subito prima di w 1 (t), ottenendo lo stesso effetto. Togliendo w 1 (t), invece, lo schedule diventa CSR. 45

36 B.3 Classificare il seguente schedule come non-vsr, VSR o CSR: r 4 (x) r 2 (x) w 4 (x) w 2 (y) w 4 (y) r 3 (y) w 3 (x) w 4 (z) r 3 (z) r 6 (z) r 8 (z) w 6 (z) w 9 (z) r 5 (z) r 10 (z) 46

37 Costruiamo il grafo dei conflitti X: r 4 r 2 w 4 w 3 Y: w 2 w 4 r 3 Z: w 4 r 3 r 6 r 8 w 6 w 9 r 5 r Il grafo è aciclico: lo schedule è CSR (e quindi anche VSR). Il grafo suggerisce lo schedule seriale 2,4,3,8,6,9,5,10 (costruito scegliendo ed eliminando via via i nodi senza archi entranti). 49

38 B.4 Classificare il seguente schedule come non-vsr, VSR o CSR: w 4 (x) r 2 (x) w 2 (y) w 4 (y) w 3 (x) w 4 (z) r 3 (z) r 6 (z) r 8 (z) w 9 (z) w 5 (z) r 10 (z) 50

39 Costruiamo il grafo dei conflitti X: w 4 r 2 w 3 Y: w 2 w 4 Il grafo è ciclico (4, 2): lo schedule Z: w 4 r 3 r 6 r 8 w 9 w 5 r 10 non è CSR. 3 8 Non è nemmeno VSR (2 e 4 non 2 sono serializzabili: 9 r 2 (x) legge-da w 4 (x), ma w 4 (y) è finale). Del resto non esistono scritture cieche scambiabili. 53

40 B.5 Classificare il seguente schedule come non-vsr, VSR o CSR: r 5 (x) r 3 (y) w 3 (y) r 6 (t) r 5 (t) w 5 (z) w 4 (x) r 3 (z) w 1 (y) r 6 (y) w 6 (t) w 4 (z) w 1 (t) w 3 (x) w 1 (x) r 1 (z) w 2 (t) w 2 (z) 54

41 T: r 6 r 5 w 6 w 1 w 2 X: r 5 w 4 w 3 w 1 Y: r 3 w 3 w 1 r 6 Z: w 5 r 3 w 4 r 1 w Lo schedule non è CSR: sfrondando il grafo dai nodi 2 e 5 (che hanno solo archi in ingresso e in uscita rispettivamente) si vede bene che ci sono due cicli (6-1 e 4-3). Il conflitto 4-3 può essere rimosso se si considera lo schedule viewequivalente a quello dato ottenibile per scambio di w 4 (x) e w 3 (x). Non è invece eliminabile il conflitto 6-1: lo scambio di w 6 (t) e w 1 (t) non elimina il conflitto dovuto a r 6 (t). Quindi lo schedule non appartiene neanche a VSR. 57

42 C.1 Verificare se la seguente sequenza di operazioni è compatibile con il protocollo di locking a due fasi: r 1 (A) r 2 (B) w 1 (C) r 2 (A) r 1 (B) w 2 (C) r 3 (C) w 2 (B) r 3 (B) w 1 (A) w 3 (A) 58

43 Vincoli temporali sulle richieste di lock/unlock (quando si rendano necessarie delle attese) Numeriamo progressivamente gli istanti in cui avvengono le azioni Otteniamo un sistema di disequazioni Approccio necessario : il 2PL non strict non permette di conoscere con precisione i momenti di rilascio (è invece possibile con il 2PL strict) 59

44 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 8 w2 9 r3 10 w1 11 w3 Diagrammiamo lo schedule separando le azioni in base alla risorsa a cui si riferiscono 60

45 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 8 w2 9 r3 10 w1 11 w3 Dal comportamento di t 2 derivano i seguenti vincoli 4 < U r 2 A < L w 1 A U r 1 B < L w 2 B < 8 Interpretiamoli... 61

46 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 t w2 1 non può acquisire presto A 7 r3 8 w2 9 r3 10 w1 11 w3 Né rilasciare tardi B Dal comportamento di t 2 derivano i seguenti vincoli 4 < U r 2 A < L w 1 A U r 1 B < L w 2 B < 8 62

47 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 t 2 non può rilasciare 8 w2 9 tardi A r3 10 w1 11 w3 Né acquisire presto B Dal comportamento di t 2 derivano i seguenti vincoli 4 < U r 2 A < L w 1 A U r 1 B < L w 2 B < 8 63

48 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 8 w2 9 r3 10 w1 11 w3 4 < U r 2 A < L w 1 A U r 1 B < L w 2 B < 8 Inoltre il 2PL impone di non acquisire alcun lock dopo il primo rilascio: L w 1 A < U r 1 B L w 2 B < U r 2 A Componendo i vincoli: U A < L A < U B < L B < U A Non esiste alcun assegnamento che li soddisfi: lo schedule non è compatibile con il 2PL. 64

49 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 8 w2 9 r3 10 w1 11 w3 DEL RESTO LO SCHEDULE NON È NEMMENO SERIALIZZABILE! Sia iniziando con t 1 sia iniziando con t 2 si introducono legge-da non presenti nello schedule iniziale. 65

50 C.2 Verificare se la seguente sequenza di operazioni è compatibile con il protocollo di locking a due fasi: r 1 (A), r 2 (B), w 1 (C), r 2 (A), r 1 (B), w 2 (C), r 3 (C), w 2 (B), r 3 (B), w 2 (A), w 3 (A) 66

51 Istante A B C 1 r1 2 r2 3 w1 4 r2 5 r1 6 w2 7 r3 8 w2 9 r3 10 w2 11 w3 t 1 può acquisire tutti i lock all inizio e rilasciare ogni risorsa subito dopo l uso. t 3 può acquisire ogni risorsa subito prima dell uso e rilasciarle tutte alla fine. t 2 deve rilasciare (C) già tra 6 e 7, e non può acquisire (B) prima di 6, ma questo è possibile. 67

52 C.3 Si consideri il seguente schedule, in cui l'identificativo di una transazione rappresenta il timestamp della stessa: r 4 (x) r 2 (x) w 4 (x) w 2 (y) w 4 (y) r 3 (y) w 3 (x) w 4 (z) r 3 (z) r 6 (z) r 8 (z) w 6 (z) w 9 (z) r 5 (z) r 10 (z) Si assuma inizialmente RTM = WTM = 0 per ogni risorsa. Discutere il comportamento del sistema con controllo di concorrenza basato su timestamp mono-versione (a) e multi-versione (b). Infine, si classifichi lo schedule. 68

53 Rappresentiamo l evoluzione del sistema con una tabella che mostri: (a) monoversione: Il valore dei due indicatori associati a ciascuna risorsa e le transazioni uccise (b) multiversione: Il valore di RTM e tutti i valori di WTM i di ogni risorsa, oltre alle transazioni uccise. Per ogni lettura indichiamo anche (tra parentesi) il timestamp della versione effettivamente letta. 69

54 X Y Z RTM WTM RTM WTM RTM WTM T uccisa R4(x) R2(x) 4 W4(x) 4 W2(y) 2 W4(y) 4 R3(y) 3 ( 3 < WTM(y)=4 ) W3(x) (già uccisa) W4(z) 4 R3(z) (già uccisa) R6(z) 6 R8(z) 8 W6(z) 6 ( 6 < RTM(z)=8 ) W9(z) 9 R5(z) 5 ( 5 < WTM(z)=9 ) R10(z) 10 70

55 X Y Z RTM WTM(i) RTM WTM(i) RTM WTM(i) T uccisa R4(x) 4 (0) R2(x) 4 (0) W4(x) 0, 4 W2(y) 0, 2 W4(y) 0, 2, 4 R3(y) 3 (2) W3(x) 3 ( 3 < RTM(x)=4 ) W4(z) 0, 4 R3(z) (già uccisa) R6(z) 6 (4) R8(z) 8 (4) W6(z) 6 ( 6 < RTM(z)=8 ) W9(z) 0, 4, 9 R5(z) 8 (4) R10(z) 10(9) 71

56 C.4 Si consideri il seguente schedule, in cui l'identificativo di una transazione rappresenta il timestamp della stessa: w 4 (x) r 2 (x) w 2 (y) w 4 (y) w 3 (x) w 4 (z) r 3 (z) r 6 (z) r 8 (z) w 9 (z) w 5 (z) r 10 (z) Si assuma inizialmente RTM = WTM = 0 per ogni oggetto. Discutere il comportamento del sistema con controllo di concorrenza basato su timestamp mono-versione e multi-versione. 72

57 X Y Z RTM WTM RTM WTM RTM WTM T uccisa W4(x) R2(x) 2 ( 2 < WTM(x)=4 ) W2(y) (già uccisa) W4(y) 4 W3(x) 3 ( 3 < WTM(x)=4 ) W4(z) 4 R3(z) (già uccisa) R6(z) 6 R8(z) 8 W9(z) 9 W5(z) 5 ( 5 < WTM(z)=9 ) R10(z) 10 73

58 X Y Z RTM WTM i RTM WTM i RTM WTM i W4(x) 0 0, R2(x) 2 (0) W2(y) 0, 2 W4(y) 0, 2, 4 T uccisa W3(x) 0, 3, 4 [un sistema reale probabilmente ucciderebbe t3] W4(z) 0, 4 R3(z) 3 (0) R6(z) 6 (4) R8(z) 8 (4) W9(z) 0, 4, 9 W5(z) 5 (5< RTM(z)=9 =8 ) R10(z) 10(9) 74

59 D.1 Si assuma che L r i X (L w i X ) rappresenti una richiesta di lock in lettura (scrittura) da parte della transazione i sulla risorsa X. Sia data la sequenza di richieste di lock: L r 1 A L r 2 A L w 3 B L r 4 C L w 2 D L w 3 A L w 1 C L w 5 E L r 5 D L r 4 E Si verifichi se la sequenza di richieste di lock porta ad una situazione di blocco critico. 75

60 Costruiamo un grafo in cui l arco i,j indica che t i aspetta un rilascio da t j L r 1 A L r 2 A L w 3 B L r 4 C L w 2 D L w 3 A L w 1 C L w 5 E L r 5 D L r 4 E L aciclicità del grafo garantisce l assenza di deadlock. t 2 può terminare per prima, poi nel ordine t 5, t 4, t 1, t 3 76

61 D.2 Si verifichi che la sequenza di richieste di lock porta ad una situazione di blocco critico. L r 1 A L r 2 A L w 3 B L w 3 A L r 4 C L w 2 A L r 1 B L w 5 E L r 5 B L r 4 E Si individui inoltre quale transazione può essere fatta terminare per rimuovere la situazione di blocco. 77

62 L r 1 A L r 2 A L w 3 B L w 3 A L r 4 C L w 2 A L r 1 B L w 5 E L r 5 B L r 4 E Il grafo è ciclico. C è un deadlock tra le transazioni t 1, t 2 e t 3, che si può risolvere uccidendo t 3 (non t 2 [t 1 ], ché rimarrebbe il ciclo tra t 1 e t 3 [tra t 2 e t 3 ]) 78

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9 Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9 Transazione Insieme ordinato di operazioni di lettura e scrittura su

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

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

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

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

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

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 II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare un sistema distribuito su cui viene eseguita una

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

Basi di dati II 25 febbraio 2014 Tempo a disposizione: due ore.

Basi di dati II 25 febbraio 2014 Tempo a disposizione: due ore. Basi di dati II 25 febbraio 24 Tempo a disposizione: due ore. Cognome Nome Matricola Ordin. Domanda (2%) Nella figura seguente è schematizzato un piccolissimo buffer con quattro pagine (numerate da a 3),

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

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

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

execute reject delay

execute reject delay 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:

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

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

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

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

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

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

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G è costituito da una coppia di insiemi (V,A) dove V è detto insieme dei nodi e A è detto insieme di archi ed è un sottinsieme di tutte

Dettagli

Modificare la dimensione (mostrando la nuova versione per la tabella in figura, con brevi commenti se necessario).

Modificare la dimensione (mostrando la nuova versione per la tabella in figura, con brevi commenti se necessario). Basi di dati II, primo modulo Tecnologia delle basi di dati 20 aprile 2009 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Rispondere in modo ordinato evidenziando bene la bella copia e,

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

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

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

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio: NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio: APPARTAMENTO(NumeroInterno, MetriQuadri, SpeseCondominio,

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

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni di un ente che eroga corsi di formazione:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni di un ente che eroga corsi di formazione: NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni di un ente che eroga corsi di formazione: CORSO(Codice, NomeCorso, NumeroOre) EDIZIONE(CodiceCorso,

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

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo

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

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

Automa a Stati Finiti (ASF)

Automa a Stati Finiti (ASF) Automa a Stati Finiti (ASF) E una prima astrazione di macchina dotata di memoria che esegue algoritmi Introduce il concetto fondamentale di STATO che informalmente può essere definito come una particolare

Dettagli

Parte 1 Gestione della concorrenza

Parte 1 Gestione della concorrenza Gestione dei dati Parte 1 Gestione della concorrenza Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria dell informazione, informatica e statistica Sapienza Università di Roma Anno Accademico 2012/2013

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

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

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE GARA2 2019 SECONDARIA DI PRIMO GRADO INDIVIDUALE ESERCIZIO 1 Premessa La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE GARA2 2019 SECONDARIA DI PRIMO GRADO INDIVIDUALE ESERCIZIO 1 Premessa La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna

Dettagli

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

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

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi. Un progetto di ricerca e sviluppo di una società si compone di 12 (principali) attività con precedenze, durate normali b ij (in giorni), costi diretti c ij (in dollari) delle attività alla loro durata

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in

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

Ricerca Operativa A.A. 2017/2018

Ricerca Operativa A.A. 2017/2018 Ricerca Operativa A.A. 2017/2018 Esercizi su modelli di programmazione lineare intera - Soluzioni Nota Vengono fornite delle possibili soluzioni. Potrebbero esserci soluzioni alternative altrettanto valide.

Dettagli

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

Dettagli

PROBLEMI SU GRAFO (combinatori)

PROBLEMI SU GRAFO (combinatori) PROLMI SU GRO (combinatori) In molti problemi il numero di soluzioni ammissibili è finito. Questi problemi sono quasi sempre descritti su grafi. Rete stradale: come andare da a in tempo minimo? Grafo orientato

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al Verifica parte IIB Rif. Ghezzi et al. 6.3.4.1 Test In piccolo White box Black box Condizioni di confine Problema dell' Oracolo In grande Test di modulo Test di integrazione Test di Sistema Test di Accettazione

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

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

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici); Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo

Dettagli

Basi di dati II Esame 21 giugno 2018 Compito A Tempo a disposizione: 1h15 per la prova breve e 2h45 per la prova completa.

Basi di dati II Esame 21 giugno 2018 Compito A Tempo a disposizione: 1h15 per la prova breve e 2h45 per la prova completa. Basi di dati II Esame 21 giugno 2018 Compito A Tempo a disposizione: 1h15 per la prova breve e 2h45 per la prova completa. Cognome Nome Matricola Scrivere in modo ordinato e leggibile, negli spazi a disposizione.

Dettagli

Il valore di flusso che si ottiene è

Il valore di flusso che si ottiene è 1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita

Dettagli

2.3.4 Pianificazione di progetti

2.3.4 Pianificazione di progetti .. Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i. stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

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

2.3.5 Pianificazione di progetti

2.3.5 Pianificazione di progetti ..5 Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.

Dettagli

Macchine sequenziali. Automa a Stati Finiti (ASF)

Macchine sequenziali. Automa a Stati Finiti (ASF) Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra 4) DISTANZE Problematiche Si suppone un grafo in cui ad ogni arco e' associato un peso (distanza). Il grafo puo' essere sia diretto che non diretto. Se non e' diretto ogni arco puo' essere pensato come

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

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Dettagli

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione. Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli

Dai ponti di Königsberg al postino cinese

Dai ponti di Königsberg al postino cinese Dai ponti di Königsberg al postino cinese Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/1 - Corso di Ricerca Operativa Università

Dettagli

Introduzione alla Teoria dei Grafi

Introduzione alla Teoria dei Grafi Sapienza Uniersità di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Introduzione alla Teoria dei Grafi Docente: Renato Bruni bruni@dis.uniroma1.it Corso di: Ottimizzazione Combinatoria

Dettagli

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

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni Capitolo 13 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

Dettagli

Basi di dati II Esame 26 febbraio 2013 Rispondere su questo fascicolo. Tempo a disposizione: due ore e trenta minuti.

Basi di dati II Esame 26 febbraio 2013 Rispondere su questo fascicolo. Tempo a disposizione: due ore e trenta minuti. Basi di dati II Esame 26 febbraio 2013 Rispondere su questo fascicolo. Tempo a disposizione: due ore e trenta minuti. Cognome Nome Matricola Domanda 1 (15%) Si consideri un DBMS che preveda, in aggiunta

Dettagli