03 - Concurrency und Recovery Flashcards

1
Q

Definition: Recovery

A

Wiederherstellung von Daten bei schweren Fehlern (entweder Hardware Fehler oder Software Fehler)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Backup-Strategien (3)

A

1) Komplett-Backups
2) Inkrementelle Backups
3) Differenzielle Backups

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vorteile: Komplett-Backups (1)

A

1) Relativ einfaches zwischenspeichern von Backups (da Daten immer komplett vorhanden sind).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Nachteile: Komplett-Backups (2)

A

1) Große Datenmengen, da jeder Backupstand alle Daten enthält.
2) Erstellen eines Backups dauert relativ lang –> Zeitraum zwischen 2 Backups kann nicht beliebig klein sein.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vorteile: Inkrementelle Backups (1)

A

1) Jeder Backup ist schnell erledigt und beansprucht keine hohen Datenmengen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Nachteile: Inkrementelle Backups (1)

A

1) Zurückspielen des Backups deutlich mühsamer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definition: Komplett-Backups

A

Bei jedem Backup wird hier der komplette Datenstand gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definition: Inkrementelle Backups

A

Es wird immer nur ein Teil der Datenbank inkrementell für jedes Backup gesichert (z.B. ein Teil pro Wochentag).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Definition: Differenzielle Backups

A

Hier wird der Unterschied zwischen dem letzten Komplett-Backup gespeichert. Dabei wird jede Änderung in einer Logdatei Protokolliert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Definition: Metadaten

A

Daten, die Informationen zu und Zustände über eine Datenbank merken (z.B. Informationen zu laufenden Transaktionen).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Definition: Datenbankpuffer

A

Änderungen in der Datenbank werden hier (im Arbeitsspeicher) zwischengespeichert und eingeschrieben, da es performanter ist. Dennoch werden die Daten asynchron aktualisiert. Jede Änderung die an den Daten vorgenommen wird, erfolgt im Datenbankpuffer, so spart man sich das ständige I/O von den zugehörigen Datenbanken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Definition: Before-Image

A

Ein Before-Image gibt den Zustand vor einer Transaktion wieder und bezieht sich nur auf die betroffenen Datensätze.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definition: After-Image

A

Ein Before-Image gibt den Zustand nach einer Transaktion wieder und bezieht sich nur auf die betroffenen Datensätze.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Bestandteile: Arbeitsspeicher DBMS (2)

A

1) Puffer (Cache)

2) Metadaten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Definition: Logdatei

A

Hier werden alle Datenänderungen vom Puffer festgeschrieben und persistiert (Before- und After-Images und die dazugehörigen Metadaten).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Schritte: Einfache Transaktion (7)

A

1) Lesen der Daten
2) Merken der Bisherigen Daten
3) Ändern der Daten
4) Merken der geänderten Daten
5) Transaktion wird durchgeführt
6) Transaktionsende COMMIT/ROLLBACK
7) Änderungen in die Datenbank/en schreiben

17
Q

Vorteile: Puffering (3)

A

1) Minimaler I/O Verkehr
2) Werden Daten mehrmals geändert, so müssen diese nicht jedes Mal geschrieben werden
3) Werden gelesene Daten wieder gelesen, so stehen diese bereits zur Verfügung

18
Q

Nachteile: Puffering (1)

A

1) Dauerhaftigkeit der Daten ist nur von den Logdateien abhängig.

19
Q

Definition: Undo-Log

A

Eine Logdatei, die alle Before-Images und dazügehörigen Metadaten enthält. Ein Eintrag im Undo-Log muss nur bis zum Transaktionsende aufgehoben werden.

20
Q

Definition: Redo-Log

A

Eine Logdatei, die alle After-Images und dazügehörigen Metadaten enthält. Ein Eintrag im Redo-Log muss bis zur nächsten Backup aufgehoben werden.

21
Q

Definition: Checkpoints

A

Zeitpunkte zu der alle geänderten Daten zwangsweise in die Datenbank geschrieben werden.

22
Q

Nachteile: Checkpoints (2)

A

1) Die hohe I/O-Last behindert alle Transaktionen

2) Bei jedem Checkpoint steigen die Antwortzeiten

23
Q

Definition: Concurency

A

Hier geht es um den Parallelbetrieb in Datenbanken. Concurrency arbeitet nach der Regel, dass jede Transaktion so ablaufen muss, als sei sie allein im System. Des weiteren sollte jede Transaktion Ergebnisse liefern, die unabhängig von anderen Transaktionen sind.

24
Q

Concurrency Probleme (3)

A

1) Problem der verlorengegangenen Änderung
2) Problem der Abhängigkeit von nicht abgeschlossenen Transaktionen
3) Problem der Inkosistenz der Daten

25
Q

Grundidee zu Locks in Datenbanken

A

Es soll für jede Relation ein Lock geben, für die sich eine Transaktion Zugriff anfragen muss und somit das Lock belegen muss. Sobald dieses belegt ist, darf keine andere Transaktion auf die gesperrte Relation zugreifen und wird in eine Warteschlange geschickt.

26
Q

Sperrgranularität in Datenbanken

A

Man muss sich für das DBMS entscheiden wie fein granuliert man Sperren einführen möchte. Man kann entweder eine gesamte Relation sperren, die Tupel oder nur einzelne Einträge. Dennoch sollte nicht zu viel gesperrt werden, sodass die Parallelität komplett verloren geht. In der Praxis eignet man sich oft für eine Tupelsperre.

27
Q

Definition: Share-Lock

A

Hier wird die Sperre unter mehreren Transaktionen geteilt, und soll dafür sorgen, das diese Transaktionen lesenden Zugriff haben, aber keine Änderungen vornehmen.

28
Q

Definition: Exclusive Lock

A

Diese Sperre ist für Änderungen (Schreiben) vorgesehen und lässt deswegen nur eine Transaktion zu einem gewissen Zeitpunkt diese Sperre belegen.

29
Q

Definition: Deadlocks bei Transaktionen

A

Eine Verklemmung, bei der mindestens zwei Transaktionen gegenseitig auf die Freigabe eines oder mehrerer Locks warten.

30
Q

Welches der 3 Probleme lösen Sperren

A

Sperren lösen tatsächlich nur das Problem der Abhängigkeit von nicht abgeschlossenen Transaktionen. Bei den anderen 2 hofft man einfach nicht auf Deadlocks oder man löst sie manuell.

31
Q

Vorgehensweise: Deadlockauflösung

A

1) Wartezeiten beobachten und bei abnormalen Wartezeiten die Transaktion mit Fehler abbrechen
2) Hiernach einen Wartegraph zeichnen um zu prüfen ob ein geschlossener Graph (Transaktionen verweisen immer aufeinander)
3) Eine beliebige Transaktion im Graphen zurücksetzen bzw. neu starten
4) Jetzt können alle Locks weider freigegeben werden.

32
Q

Definition: Problem der Verlorengegangenen Änderung

A

Zwei Transaktionen ändern (fast) gleichzeitig. Eine Änderung geht verloren da die spätere Transaktion die Änderung zu schnell überschreibt.

33
Q

Definition: Problem der Abhängigkeit von nicht abgeschlossenen Transaktionen

A

Daten werden gelesen, die mittels Rollback zurückgesetzt werden.

34
Q

Definition: Problem der Inkonsistenz der Daten

A

Fehlerhafte Daten werden gelesen, wenn andere Transaktionen gleichzeitig ändern