Controllo della concorrenza

Abbozzo
Questa voce sull'argomento basi di dati è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia.

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

Altri progetti

Altri progetti

  • Wikiversità
  • Collabora a Wikiversità Wikiversità contiene risorse su controllo della concorrenza

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica