Atomisk, konsistent, isolert, durabel

mengde av egenskaper for databasetransaksjoner beregnet på å garantere gyldighet selv i tilfelle feil, strømbrudd, og så videre
(Omdirigert fra «Konsistens (informatikk)»)

Innen informatikk er atomisitet, konsistens, isolasjon og durabilitet[1] (engelsk forkotelse: ACID) fire egenskaper for databasetransaksjoner som har til hensikt å garantere gyldige data til tross for strømbrudd, tekniske feil og andre uhell.[2]

I databaseøyemed kalles en sekvens av databaseoperasjoner som tilfredsstiller ACID-egenskapene (som kan oppfattes som en enkelt logisk operasjon på dataene) for en transaksjon. For eksempel kan en overføring av midler fra en bankkonto til en annen (selv om det involverer flere steg som å debitere en konto og kreditere en annen) anses som en enkelt transaksjon.

Historie

rediger

I 1983[3] foreslo Andreas Reuter og Håkon Håkonsson forkortelsen ACID basert på tidligere arbeider av Jim Gray[4] som hadde foreslått atomisitet, konsistens og durabilitet (ACD - men ikke isolasjon) som egenskaper for transaksjoner. Disse fire egenskapene har vært viktige i utviklingen av databasesystemer.

Ifølge Gray og Reuter støttet IBM Information Management System ACID-transaksjoner allerede i 1973 (selv om forkortelsen først ble opprettet senere).[5]

Egenskaper

rediger
  • Atomisk: At en transaksjon enten fullføres fullstendig eller ikke i det hele tatt
  • Konsistent (konsistensbevaring): Databasesystemet sikrer at en transaksjon bare kan ta databasen fra en konsistent tilstand til en annen
  • Isolasjon (transaksjonsisolasjon): Databasesystemet sørger for at samtidige transaksjoner ikke forstyrrer hverandre, altså at de utføres isolert fra hverandre
  • Durabilitet (permanent): At et databasesystem garanterer at transaksjoner som har blitt forpliktet (committed) overlever permanent i tilfelle krasj

Se også

rediger

Referanser

rediger
  1. ^ «Kompendium – Datamodellering og Database - TDT4145 Datamodellering og database (2019), Mathilde Haukø Haugum» (PDF). Arkivert fra originalen (PDF) 26. september 2022. Besøkt 15. mars 2023. 
  2. ^ Lang, Niklas. «Database Basics: ACID Transactions». Besøkt 6. august 2022. 
  3. ^ Haerder. «Principles of transaction-oriented database recovery»: 287. 
  4. ^ (PDF) http://research.microsoft.com/~gray/papers/theTransactionConcept.pdf. 
  5. ^ Gray, Jim; Reuter, Andreas (1993). Distributed Transaction Processing: Concepts and Techniques. Morgan Kaufmann. ISBN 1-55860-190-2.