Proprietà ACID

Coniata dai pionieri dell'elaborazione delle transazioni, l'acronimo ACID è atomico, coerente, isolato e durevole. Per garantire un comportamento prevedibile, tutte le transazioni devono possedere queste proprietà di base, rinforzando il ruolo delle transazioni cruciali come proposte all-or-none.

L'elenco seguente contiene una definizione e una descrizione di ogni proprietà ACID:

Atomica

Una transazione deve essere eseguita esattamente una volta e deve essere atomica, ovvero tutte le operazioni vengono eseguite o nessuna di esse. Le operazioni all'interno di una transazione condividono in genere una finalità comune e sono interdipendenti. Eseguendo solo un subset di queste operazioni, il sistema potrebbe compromettere la finalità complessiva della transazione. L'atomicità elimina la possibilità di elaborare solo un subset di operazioni.

Coerente

Una transazione deve mantenere la coerenza dei dati, trasformando uno stato coerente dei dati in un altro stato coerente dei dati. Gran parte della responsabilità di mantenere la coerenza dipende dallo sviluppatore di applicazioni.

Isolato

Una transazione deve essere un'unità di isolamento, il che significa che le transazioni simultanee devono comportarsi come se ognuna fosse l'unica transazione in esecuzione nel sistema. Poiché un livello elevato di isolamento può limitare il numero di transazioni simultanee, alcune applicazioni riducono il livello di isolamento in cambio di una migliore velocità effettiva. Per altre informazioni, vedere Configurazione dei livelli di isolamento delle transazioni.

Durevole

Una transazione deve essere recuperabile e pertanto deve avere durabilità. Se viene eseguito il commit di una transazione, il sistema garantisce che gli aggiornamenti possano essere mantenuti anche se il computer si arresta in modo anomalo immediatamente dopo il commit. La registrazione specializzata consente alla procedura di riavvio del sistema di completare le operazioni non completate richieste dalla transazione, rendendo durevole la transazione.