ACID: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+interprogetto
Concurrency Control Manager o WorkSpace Privato: aggiornamento sulle istruzioni di lock / unlock
Riga 31:
#: Potrebbe garantitire l'effettiva serializzabilità del codice bloccando gli accessi alle tabelle in gioco, tuttavia si tratta di soluzioni troppo inefficienti per essere utilizzate in applicazioni critiche, in realtà la modalità serializzata si limita a evitare i fenomi esaminati per i livelli più bassi di isolamento
 
== Concurrency Control Manager o WorkSpace Privato ==
 
La transazione effettua le modifiche su una copia della risorsa database. Se essa non termina con successo la copia viene distrutta, altrimenti le modifiche fatte sulla copia vengono rese permanenti attraverso l'operazione di commit. Il sistema ne garantisce in questo modo l'''atomicità''.
Le transazioni devono essere eseguite in isolamento le une dalle altre ma spesso molte transazioni vengono eseguite concorrentemente nello stesso sistema. Il concurrency control manager si assicura che le singole azioni delle varie transazioni vengano eseguite in un ordine tale da non interferire le une con le altre (''isolamento''). Tipicamente
Il questoConcurrency risultatoControlo Manager viene ottenutorealizzato attraversotramite ladue gestioneistruzioni diprimitive:
* '''lock''', istruzione tramite la quale si afferma che una risorsa è bloccata da una determinata transazione;
* '''unlock''', istruzione tramite la quale si afferma che una risorsa è stata liberata da una determinata transazione.
La serie dei lock viene memorizzatimemorizzata nella lock table (sezione del DBMS apposita). Il concurrency control manager ha anche il compito di risolvere i [[deadlock]] causati dai lock facendo abortire una o più transazioni.
 
== Logging / Recovery Manager ==