ACID: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Concurrency Control Manager o WorkSpace Privato: ortografia |
m sistemazione fonti, smistamento lavoro sporco e fix vari |
||
(47 versioni intermedie di 31 utenti non mostrate) | |||
Riga 1:
{{Nota disambigua|
{{S|sistema operativo}}
Nell'ambito dei [[database]], '''ACID''' è un [[acronimo]] che riassume quattro proprietà particolarmente desiderabili in un [[DBMS]], ovvero: '''A'''tomicità, '''C'''oerenza, '''I'''solamento e '''D'''urabilità ({{lett|Atomicity, Consistency, Isolation, and Durability|lingua=en}}). Queste vengono tipicamente soddisfatte attraverso l'[[implementazione]] del meccanismo delle [[transazione (basi di dati)|transazioni]].
* '''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.▼
== Descrizione ==
=== Atomicità ===
Il processo deve essere suddivisibile in un numero finito di unità indivisibili, chiamate ''transazioni''. L'esecuzione di una transazione perciò deve essere per definizione o totale o nulla, e non sono ammesse esecuzioni parziali; un processo, anche parziale, invece, in quanto insieme di transazioni può non essere elementare.
=== Coerenza ===
Il database rispetta i [[vincolo di integrità|vincoli di integrità]], sia a inizio che a fine transazione. Non devono verificarsi contraddizioni (incoerenza dei dati) tra i dati archiviati.
=== Isolamento ===▼
▲
▲== Isolamento ==
Sono previsti quattro livelli di isolamento:
# ''' read uncommitted''':
#* consente transazioni in sola lettura, senza bloccare in lettura i dati
#* una transazione può leggere dati ''sporchi'', perché potrebbero sparire se la transazione che li ha generati abortisce
#:
#: T1 aggiorna una riga r1
#:
#:
#:
# '''read committed:'''
#* prevede il rilascio immediato dei dati in lettura, ritardando quelli in scrittura
#* letture non ripetibili all'interno della stessa transazione
# '''repeatable read:'''
#* vengono bloccati sia i dati in lettura che quelli in scrittura ma solo sulle ennuple della tabella
#* genera il fenomeno dei fantasmi (phantoms)
# '''serializable:'''
#: Potrebbe
=== Durabilità ===
▲
== Bibliografia ==
* {{cita libro|autore = Paolo Atzeni|autore2 = Stefano Ceri|autore3 = Piero Fraternali|autore4 = Stefano Paraboschi|autore5 = Riccardo Torlone|titolo = Basi di dati|editore = McGraw-Hill|anno = 2018|edizione = 5|città = Milano|ISBN = 978-88-386-9445-5|cid = Atzeni 2018}}
* {{cita libro|autore = Francis Botto|titolo = Dictionary of
* {{cita libro|autore = Francis Botto|titolo = Dictionary of Multimedia and Internet Applications: A Guide for Developers and Users|url = https://archive.org/details/isbn_9780471986249|editore = Wiley|città = Hoboken|anno = 1999|lingua = en|ISBN = 9780471986249}}
== Altri progetti ==
{{interprogetto|v=Proprietà ACID}}
== Collegamenti esterni ==
▲{{portale|informatica}}
* {{FOLDOC}}
{{Portale|informatica}}
[[Categoria:Teoria delle basi di dati]]
|