Proprietà ACID

Il termine ACID ** indica il ruolo rivestito dalle transazioni nelle applicazioni di importanza critica per le strategie aziendali. Coniata dai precursori dell'elaborazione delle transazioni, la sigla ACID è infatti composta dalle iniziali di Atomicità, Coerenza, Isolamento e Durevolezza.

Queste proprietà garantiscono un funzionamento privo di sorprese, ribadiscono il principio del "tutto o niente" per le operazioni che costituiscono le transazioni e fanno delle transazioni stesse uno strumento insostituibile per la riduzione del carico gestionale in presenza di numerose variabili.

Atomicità

Una transazione rappresenta un'unità di lavoro in cui una serie di operazioni viene eseguita tra le istruzioni BEGIN TRANSACTION ed END TRANSACTION di un'applicazione. Le transazioni vengono eseguite un'unica volta e sono atomiche, ovvero vengono completate o annullate interamente.

Le operazioni associate a una transazione presentano in genere un intento comune e sono interdipendenti. Se venisse eseguita solo una parte di queste operazioni, potrebbe risultare compromesso l'intento stesso della transazione. L'atomicità elimina la possibilità di elaborazione di una parte soltanto delle operazioni.

Coerenza

Una transazione rappresenta un'unità di integrità perché preserva l'uniformità dei dati, trasformando uno stato coerente di dati in un altro stato coerente di dati.

Per la coerenza è necessario che i dati collegati da una transazione vengano preservati dal punto di vista semantico. La responsabilità del mantenimento della coerenza è in parte dello sviluppatore dell'applicazione, che si assicura che in essa siano rispettati tutti i vincoli di integrità noti. Nello sviluppo di un'applicazione per il trasferimento di denaro, ad esempio, è fondamentale evitare che la virgola decimale venga spostata arbitrariamente durante il trasferimento.

Isolamento

Una transazione rappresenta un'unità di isolamento, in quanto consente che le transazioni simultanee abbiano luogo come se ciascuna di esse fosse l'unica transazione in esecuzione nel sistema.

Per l'isolamento è necessario che ciascuna transazione sembri essere l'unica a manipolare l'archivio dati, anche se è possibile che altre transazioni siano in esecuzione nello stesso momento. È importante che una transazione non capti mai le fasi intermedie di un'altra transazione.

Le transazioni raggiungono il più alto livello di isolamento quando sono serializzabili. A questo livello, i risultati ottenuti con una serie di transazioni contemporanee sono identici a quelli ottenuti eseguendo ciascuna transazione in serie. Dal momento che un alto grado di isolamento può limitare il numero delle transazioni contemporanee, alcune applicazioni riducono il livello di isolamento allo scopo di migliorare le prestazioni.

Durevolezza

Una transazione rappresenta inoltre un'unità di recupero. Se una transazione ha esito positivo, il sistema garantisce che gli aggiornamenti da essa effettuati persistano, anche se il computer si blocca immediatamente dopo il commit. L'accesso specializzato consente alla procedura di riavvio del sistema di completare eventuali operazioni non terminate, rendendo la transazione durevole.

Vedere anche

Nozioni fondamentali sull'elaborazione delle transazioni