Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Techniken zur vermeidung/lösung von deadlocks


1. Java
2. Viren

Erforderliche Eigenschaften von Transaktionen:

1. Atomicity: Eine Transaktion ist eine elementarer Prozeß. Er wird entweder vollständig oder gar nicht durchgeführt.


2. Konsistenzkriterium: Eine korrekte Durchführung einer Transaktion muß die Datenbank wieder in einen konsistenten Zustand versetzt


3. Dauerhaftigkeit: Wurden von einer Transaktion Änderungen durchgeführt und bestätigt, so gehen diese auch durch einen späteren Fehler nicht mehr verloren.


4. Isolation: Alle Änderungen während einer Transaktion dürfen für andere Transaktionen erst nach der Bestätigung sichtbar werden.


5. Serialisierbarkeit: Man spricht von serialisierbaren Transaktionen, wenn ein Datenbankzustand, der durch parallel arbeitende Transaktionen erreicht wurde, auch durch die serielle Abarbeitung der gleichen Transaktionen erreicht würde.

Es wird vorausgesetzt, daß die einzelnen Transaktionen voneinander unabhängig sind. Eine Abhängigkeit wäre gegeben, wenn z.B. eine Transaktion A vor einer Transaktion B unbedingt laufen müßte. Damit ist zwar keine beliebige Hintereinanderausführung mehr möglich, aber es ist ein bestimmter, zeitlicher Ablauf gegeben.

Punkt 1 und 2 sind in der Definition der Transaktion enthalten. Punkt 3 wird durch Recovery Techniken im Falle eines Fehlers gewährleistet.

Zur Einhalten der im Punkt 4 und 5 geforderten Serialisierbarkeit wird das Two-Phase-Locking Protokoll eingesetzt


1.6.1 Two Phase Locking

Wenn eine Transaktion einen gesperrten Datensatz wieder frei gibt, aber ihn danach noch einmal benötigt und ihn somit wieder sperren muß, muß erwartet werden das die Daten schon von einer anderen Transaktion geändert wurden. Um die daraus resultierenden Probleme (uncommitted dependency) zu vermeiden, werden folgende Forderungen aufgestellt:

. Vor jeder Bearbeitung eines Datensatzes wird dieser gesperrt


. Dieser Datensatz wird erst wieder freigegeben, wenn er für die restliche Transaktion nicht mehr benötigt wird.

Eine Transaktion, die beiden Regeln entspricht, arbeitet nach dem \"two Phase Locking Protocol (2PL)\", und erfüllt die Forderung der Serialisierbarkeit.

1.6.2 Zeitmarkenverfahren (Timestamp technique)

Jede Transaktion erhält bei ihrem Start einen Zeitstempel. Die Abarbeitung erfolgt streng noch dem Prinzip First in - First out (FIFO), d.h. streng nach der Startreihenfolge. Tritt ein Konflikt auf, so wird jene Transaktion neu gestartet die den Konflikt auslöste. Ein Konflikt entsteht z.B. wenn eine "ältere" Transaktion eine Leseanforderung für einen bestimmten Datensatz absetzt, der durch eine "jüngere" verändert werden soll. Dadurch erhält der Benutzer immer die aktuellen und geänderten Daten. Dieses Verfahren dient unter anderem zur Vermeidung von Deadlocks.


1.6.3 Transaktion Retry
Nach Erkennung eines Deadlocks muß eine der Transaktionen abgebrochen und zu einem späteren Zeitpunkt neu gestartet werden. Für die Entscheidung welche der Transaktionen abzubrechen ist gibt es verschiedene Verfahren:

. Wait Die Protokoll

. Wound Wait Protokoll

Bei beiden Verfahren wird jeweils die \"jüngere\" Transaktion zurückgenommen und zu einem späteren Zeitpunkt ausgeführt. Dazu ist erforderlich, daß jede Transaktion einen eindeutigen Zeitstempel, am Beginn erhält.

Wenn die Transaktion A einen von der Transaktion B bereits gesperrten Datensatz sperren will, passiert folgendes:

. Wait Die: falls A älter ist als B wartet A, sonst wird A zurückgenommen
. Wound Wait: falls A jünger ist als B wartet A, sonst wird B zurückgenommen



Es ergibt sich folgende Wertetabelle:


B hat Satz gesperrt, A fordert Satz an

Wait-Die Wound-Wait

A B A B
A älter als B wartet - - zurückgenommen

B älter als A zurückgenommen - wartet -
-: arbeitet


Bei diesem System ist sichergestellt, daß kein Deadlock entstehen kann, da jede Transaktion in einer endlichen Zeit und nach endlich vielen Wiederholungen ausgeführt wird. Das Schlimmste was passieren kann, ist daß der Rechner zu langsam ist und jede neu ankommende Transaktion länger abläuft als ihr Vorgänger.

 
 

Datenschutz
Top Themen / Analyse
indicator Allgemeines über Bildschirme
indicator Direkte Verbindungsnetze
indicator RPC-basierte Protokolle
indicator ICMP - Internet Control Message Protocol-
indicator Die Multiplikationsbefehle
indicator Beschreibung der RAID- Level
indicator Magnetplattenspeicher
indicator Alles Digital
indicator Das Sicherheitskonzept von Windows NT
indicator Chip-Technogien


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution