Zu dieser Karteikarte gibt es einen kompletten Satz an Karteikarten. Kostenlos!
42
Was ist mit den Deadlocks? Wie verhindere ich sie?
Deadlocks können entdeckt und aufgelöst werden:
Oder vermieden werden:
- Brute-Force: Nach einem Time-Out werden TAs zurückgesetzt. Schwierig, eine Balance zwischen zu kurz (unnötiges Zurücksetzen wegen Warten auf Ressourcen wie CPU) und zu lang (zu viele Deadlocks geduldet)
- Zyklenerkennung: Aufwändiger aber präziser. Wenn der Wartegraph Zyklen aufweist liegt Deadlock vor
Oder vermieden werden:
- Preclaiming mit strengem 2PL: Transaktionen werden erst begonnen, wenn alle Sperranforderungen erfüllt sind. Man weiss allerdings oft nicht, welche Sperren man braucht und müsste auf Verdacht anfordern -> zuviel Belegung
- Zeitstempel: Jede TA kriegt einen Timestamp. Nun will
eine Sperre erwerbenm die von
gehalten wird. Nun gibt es zwei Strategien. Bei Wound-Wait wird
abgebrochen, wenn
älter ist, sonst wartet
auf Freigabe. Bei Wait-Die wartet
, wenn
älter ist, ansonsten wird
abgebrochen.
Tags:
Quelle: DB1 Vorlesung 2007 Kapitel 12 von Prof. Staab und Dr. Sizov
Quelle: DB1 Vorlesung 2007 Kapitel 12 von Prof. Staab und Dr. Sizov

Karteninfo:
Autor: kread
Oberthema: Informatik
Thema: Datenbanken
Schule / Uni: Universität Koblenz-Landau
Ort: Koblenz
Veröffentlicht: 18.10.2010