Gestione della Concorrenza
|
|
|
- Davide Pinna
- 9 anni fa
- Visualizzazioni
Transcript
1 Corso di Complementi di Basi di Dati Gestione della Concorrenza Angelo Montanari 1
2 Anomalie delle transazioni concorrenti -1 Perdita di aggiornamento Lettura sporca Aggiornamento fantasma 2 2
3 Anomalie delle transazioni concorrenti -2 Letture inconsistenti si possono presentare quando una transazione t 1 esegue solo operazioni di lettura, ma ripete più volte, in istanti successivi, la lettura del medesimo dato x. Si vuole garantire che una transazione che acceda due (o più) volte alla base di dati trovi esattamente lo stesso valore per ciascuno dato letto e non risenta dell effetto di altre transazioni. 3 3
4 Anomalie delle transazioni (Contro)Esempio. concorrenti -3 bot(t 1 ) r 1 (x) bot(t 2 ) r 2 (x) x = x+1 # eseguita da t 2 w 2 (x) commit(t 2 ) r 1 (x) commit(t 1 ) 4 4
5 Anomalie delle transazioni concorrenti -4 Inserimenti fantasma Consideriamo una transazione che valuta un valore aggregato relativo all insieme di tutti gli elementi che soddisfano un dato predicato di selezione (esempio: voto medio studenti del secondo anno di un certo corso di laurea) Se tale valore aggregato viene calcolato due volte, e tra il primo e il secondo calcolo viene inserito un nuovo studente che soddisfa il predicato di selezione, il valore restituito nei due casi può essere diverso N.B. per evitare tale anomalia non è sufficiente far riferimento solo ai dati già presenti nella base di dati (dipende da eventuali futuri inserimenti) 5 5
6 Gestione della concorrenza in SQL:1999 Le funzionalità per il controllo della concorrenza possono introdurre dei ritardi nell esecuzione delle transazioni: attività del lock manager transazioni poste in attesa In particolare, i lock di predicato, utilizzati per impedire gli inserimenti fantasma, possono alle volte bloccare gli accessi a intere tabelle 6 6
7 Transazioni read-only e read-write In SQL:1999 le transazioni possono essere definite come read-only o read-write (read write è il default) Le transazioni read-only non possono modificare né il contenuto né lo schema della base di dati e vengono gestite coi soli lock condivisi (read lock) 7 7
8 Livello di isolamento - 1 Inoltre, il programmatore / utente evoluto può rinunciare ad alcuni aspetti del controllo della concorrenza per aumentare le prestazioni Più precisamente, per ciascuna transazione è possibile specificare un livello di isolamento scelto fra i seguenti: serializable (default) repeatable read read committed read uncommitted 8 8
9 Livello di isolamento - 2 Il livello serializable garantisce tutti i requisiti di isolamento che possono essere richiesti (2PL stretto e lock di predicato) Gli altri tre livelli consentono di rinunciare, per le sole operazioni di lettura, ad alcuni requisiti di isolamento: migliori prestazioni, possibilità di inconsistenze Per le operazioni di scrittura sono richiesti lock esclusivi, che vengono mantenuti fino al commit /abort (2PL stretto): l anomalia di perdita di aggiornamento (l unica che coinvolge due transazioni che scrivono entrambe) è sempre evitata 9 9
10 Livello read uncommited Read uncommited non pone nessun vincolo sui lock (in molti sistemi è usato per le sole transazioni read-only): la transazione non emette lock per la lettura e, per leggere, non rispetta i lock esclusivi posti da altre transazioni Se usato con transazioni read-only, non produce informazioni scorrette. Una transazione di livello read uncommited può presentare tutte le anomalie, ad eccezione della perdita di aggiornamento 10 10
11 Livello read commited Read commited richiede lock condivisi per effettuare le letture. Poiché le scritture rispettano il 2PL stretto, non può leggere dati intermedi ed evita quindi, oltre alla perdita di aggiornamento, le letture sporche. Non evita, invece, le altre anomalie
12 Livello repeatable read Applica il 2PL stretto anche nel caso di lock di lettura (che vengono applicati a livello di tupla) Evita tutte le anomalie ad eccezione dell inserimento fantasma (non impedisce l inserimento di nuove tuple) 12 12
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
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
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
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
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
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à
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
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
BASI DATI: algebra relazionale
BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).
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
Esame di Basi di Dati
Esame di Basi di Dati 28 Gennaio 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente
Progettazione di basi di dati
Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze 007 Politecnico
LA NORMALIZZAZIONE. Prima parte
LA NORMALIZZAZIONE Prima parte Argomenti della lezione Forma normale e normalizzazione Ridondanze e anomalie Dipendenze funzionali Forma normale di Boyce e Codd Proprietà delle decomposizioni Forme normali
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:
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
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
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
Normalizzazione. Definizione
Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione
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
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
Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.
Query/update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura pagine Architettura di un DBMS Utente/Applicazione
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
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
Compilazione on-line del Piano di Studio
Compilazione on-line del Piano di Studio 1 Indice 1. INTRODUZIONE E ACCESSO AL SISTEMA... 3 1.1. Accesso alla funzionalità... 3 2. COMPILAZIONE DEL PIANO DI STUDIO... 4 2.1. Struttura della procedura di
