ACID: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 102391823 di 151.27.74.176 (discussione)
Etichetta: Annulla
LiveRC : Annullate le modifiche di 188.216.84.187 (discussione), riportata alla versione precedente di Folto82
Etichetta: Annulla
Riga 1:
{{Nota disambigua|la pagina di test per i [[browser]] web|[[Acid1]], [[Acid2]] o [[Acid3]]}}
Nell'ambito dei [[database]], '''ACID''' deriva dall'[[acronimo]] inglese '''Atomicity''', '''Consistency''', '''Isolation''', e '''Durability''' ('''A'''tomicità, '''C'''oerenzaonsistenza, '''I'''solamento e '''D'''urabilità) ed indica le proprietà logiche che devono avere le [[transazione (basi di dati)|transazioni]].
 
== Descrizione ==
Affinché le transazioni operino in modo corretto sui dati è necessario che i meccanismi che le implementano soddisfino queste quattro proprietà:
* '''atomicità''': la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali;
*'''coerenzaconsistenza''': quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in un altro stato coerente, ovvero non deve violare eventuali [[vincolo di integrità|vincoli di integrità]], quindi non devono verificarsi contraddizioni (''incoerenzainconsistenza dei dati'' ) tra i dati archiviati nel DB;
* '''isolamento''': ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione;
* '''durabilità''': detta anche '''persistenza''', si riferisce al fatto che una volta che una transazione abbia richiesto un ''commit work'', i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri di log dove sono annotate tutte le operazioni sul DB.