In informatica il controllo della concorrenza si occupa dell'analisi e della risoluzione dei problemi legata alla gestione della concorrenza.
La concorrenza in ambito informatico si riferisce al problema di gestire e coordinare la gestione di più risorse che diversi processi devono utilizzare contemporaneamente. Se l'allocazione delle risorse viene eseguita senza nessuna strategia particolare da parte dei processi questo può portare a situazioni di stallo come i deadlock o la starvation. Per evitare questi fenomeni si sono sviluppate delle strategie di gestione delle risorse e dei meccanismi per la loro allocazione.
Controllo della concorrenza nelle basi di dati Il controllo della concorrenza è un concetto importante quando si parla di basi di dati. In questo contesto transazioni che vengono eseguite concorrentemente possono dare luogo a 3 tipi i problemi: Lost update (dipendenza write → write) Dirty read (dipendenza write → read) Unrepeatable read (dipendenza read → write) In base a questi tipi di problemi possiamo definire alcuni livelli di isolamento della base di dati: Livello 0: CHAOS. Si presentano tutti e tre i problemi. Livello 1: BROWSE. Assenza di lost update. Livello 2: CURSOR STABILITY. Assenza di lost update e di dirty read. Livello 3: REPEATABLE READS. Nessuno dei tre problemi.
Il controllo della concorrenza nelle basi di dati viene gestito dal transaction manager, dal lock manager e dal data manager.
Bibliografia Paolo Ciaccia, Dario Mario, Lezioni di basi di dati, 2013, Editrice Esculapio, ISBN 978-8874887187
Voci correlate Controllo della concorrenza multiversione Lost update Dirty read Unrepeatable read Gestore di transazioni Lock manager Data manager Transazione distribuita
Altri progetti
Collegamenti esterni