Dela via


ACID-egenskaper

Förkortningen ACID myntas av transaktionsbearbetningspionjärer och står för atomiska, konsekventa, isolerade och hållbara. För att säkerställa förutsägbart beteende måste alla transaktioner ha dessa grundläggande egenskaper, vilket förstärker rollen för verksamhetskritiska transaktioner som alla eller inga förslag.

Följande lista innehåller en definition och en beskrivning av varje ACID-egenskap:

Atomic

En transaktion måste köras exakt en gång och måste vara atomisk– antingen utförs allt arbete eller inget av det. Åtgärder inom en transaktion delar vanligtvis en gemensam avsikt och är beroende av varandra. Genom att endast utföra en delmängd av dessa åtgärder kan systemet kompromettera transaktionens övergripande avsikt. Atomicitet eliminerar risken för att endast bearbeta en delmängd av åtgärder.

konsekvent

En transaktion måste bevara datakonsekvensen och omvandla ett konsekvent datatillstånd till ett annat konsekvent datatillstånd. En stor del av ansvaret för att upprätthålla konsekvensen ligger hos programutvecklaren.

isolerad

En transaktion måste vara en isoleringsenhet, vilket innebär att samtidiga transaktioner bör fungera som om var och en var den enda transaktionen som körs i systemet. Eftersom en hög grad av isolering kan begränsa antalet samtidiga transaktioner minskar vissa program isoleringsnivån i utbyte mot bättre dataflöde. Mer information finns i Konfigurera transaktionsisoleringsnivåer.

Durable

En transaktion måste kunna återställas och måste därför ha hållbarhet. Om en transaktion checkar in garanterar systemet att uppdateringarna kan bevaras även om datorn kraschar omedelbart efter incheckningen. Med specialiserad loggning kan systemets omstartsprocedur slutföra oavslutade åtgärder som krävs av transaktionen, vilket gör transaktionen beständig.