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