Home

transaktionshantering

Transaktionshantering är processen att koordinera en uppsättning operationer över en eller flera resurser så att transaktioner antingen fullständigt genomförs eller inte alls, särskilt vid fel eller avbrott. Syftet är att upprätthålla databasens integritet och tillförlitlighet i system där flera operationer måste ske atomärt tillsammans.

En central modell är ACID-egenskaperna: Atomicitet, Konsistens, Isolering och Hållbarhet. Atomicitet innebär att en transaktion antingen

För att hantera samtidighet används olika tekniker. Pessimistisk låsbaserad kontroll skyddar resurser med lås, medan optimistisk

Vid distribuerad transaktionshantering används ofta tvåfaskommittéprotokollet (2PC) och i vissa fall trestegsprotokoll för att koordinera commit

Implementationsmässigt ingår transaktionshantering i databashanteringssystem och applikationsservrar. Ramverk som JTA och stöd för XA möjliggör koordinering

slutförs
helt
eller
rullas
tillbaka.
Konsistens
säkerställer
att
databasen
går
mellan
giltiga
tillstånd.
Isolering
ser
till
att
samtidiga
transaktioner
inte
påverkar
varandras
resultat
i
onödan.
Hållbarhet
betyder
att
när
en
transaktion
väl
har
bekräftats
skrivs
ändringarna
till
den
långsiktiga
lagringen
och
överlever
fel.
samtidighetskontroll
verifierar
konflikter
vid
commit.
Isoleringsnivåer
reglerar
hur
mycket
av
andra
transaktioners
arbete
som
syns
under
en
transaktion:
Read
Uncommitted,
Read
Committed,
Repeatable
Read
och
Serializable
är
vanliga
nivåer.
över
flera
system.
För
återhämtning
används
loggning,
ofta
Write-Ahead
Logging
(WAL),
samt
undo/redo-mekanismer
för
att
återställa
till
konsistenta
tillstånd
efter
krascher.
Målsättningen
är
att
transaktioner
ska
vara
tillförlitliga
även
i
felmiljöer
och
att
systemet
kan
återgå
till
ett
konsistent
tillstånd
när
det
behövs.
av
transaktioner
över
olika
resurser,
medan
moderna
databaser
och
NoSQL-system
varierar
i
hur
mycket
de
stödjer
multi-resurs-transaktioner
och
vilka
isoleringsalternativ
som
erbjuds.