Datenbanken 2 Flashcards

1
Q

Was sind die ACID Eigenschaften?

A

Stehen für die Grundbegriffe Atomicity, Consistency, Isolation und Durability. Prinzip stellt Regeln auf, wie mit Transaktion un DBMS zu verfahren ist.

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

Was ist eine Transaktion?

A

Ist eine logische Einheit die aus mehreren einzelnen DB Befehlen besteht.
Ziel: Entweder alle oder gar keinen Befehl ausführen.
Zwei mögliche Ergebnisse:
1: Erfolgreich, alle Teilbefehle ausgeführt -> DB in neuen zulässigen Zustand “Commit”

2: Nicht erfolgreich, DB wieder in Ausgangszustand versetzen “Rollback”

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

Was ist Atomicity?

A

Man möchte erreichen, dass es zulässige Zustände gibt, in denen sich die DB befindet. Bei jeder Transaktion möchte man von einem Zustand zum Nächsten kommen.

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

Was ist Consistency?

A

Wenn der Zustand der DB die Realität abbildet. Speichern des atomaren Zustandes sozusagen.

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

Was ist Isolation?

A

Dass mehrere Programme auf die DB zugreifen können, sich aber nicht gegenseitig dabei behindern

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

Was ist Durability?

A

Beim Erreichen eines konsistenten Zustands, soll dieser Zustand dauerhaft gespeichert werden.

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

Was ist XML?

A

eXtensible Markup Language

Auszeichnungssprache, kann von Menschen gelesen und von Maschinen verarbeitet werden

Ziel: Strukturelle Darstellung von Daten, damit sie zwischen Instanzen ausgetauscht werden können.

Strukturiertheit damit Sender und Empfänger gemeinsame Sprache sprechen

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

Wie sind XML Dokumente aufgebaut?

A

Bestehen aus hierarchisch angeordneten Elementen
Element: Öffnendes Tag + Inhalt + Schließendes Tag
Können Attribute haben -> Bestehen aus Name und Wert

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

Wann ist ein XML Dokument wohlgeformt?

A

Bedeutet: Dokument hält alle gültigen Regeln ein um eine XML Datei zu sein.

Wohlgeformtheit sagt nur, dass es ein XML Dokument ist, aber nicht dass es die richtige Struktur für ihren Einsatzzweck hat

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

Welche Bedingungen gibt es für wohlgeformte XML Dokumente?

A

1: Jedes Element besteht aus öffnendem und schließendem Tag
2: Die Elemente sind korrekt verschachtelt
3: Es existiert genau ein Wurzelelement

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

Was ist die Validität eines XML Dokuments?

A

Bedingung: XML ist wohlgeformt

Bedeutet dass es für den Einsatzzweck passt.

Zwei Techniken:
DTD (älter, kein XML)
XSD (neuere Technik, selbst in XML formuliert)

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

Paar Infos zu DTD

A

Unterscheidet Einträge für Elemente und Attribute
Symbole für Häufigkeit (?, +, *)

Kritik:
Selbst kein XML
Nicht ausdrucksstark (Datentypen von Attributen können nicht spezifiziert werden)

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

Paar Infos zu XSD

A

Neuere Technik die DTD Schwächen behebt
Selbst XML
XSD kennt Datentypen

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

Was ist Recovery?

A

Wiederherstellung von Daten bei schweren Fehlern

SW Fehler: Fehler in DBSW, ANwendungsprogramm
HW Fehler: Stromausfall, Brand..

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

Wie kann man Defekten vorsorgen?

A

Hardware Einkauf: Nur Geräte die lange Standzeiten garantieren, Keine Geräte von der Stange

Software Einkauf: SW Komponenten aufeinander abstimmen, Nur Zuverlässige und Zertifizierte Software einsetzen

Sicherung:
Tägliche Sicherung der Daten (Differenzsicherung)
Mindestens einmal pro Woche (Komplettsicherung)

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

Was sind Voraussetzungen für einen sicheren DB Betrieb?

A

DB befindet sich auf externen, nichtflüchtigen Medien

Logdateien befinden sich auf externen, nichtflüchtigen Medien

DB Daten werden im Arbeitsspeicher zwischengespeichert (Bezeichnung: DB Puffer, DB Cache)

Daten werden von DB Puffer gelesen

Sind Daten nicht im Puffer, werden sie von DB geholt

Schreiben der Daten geschieht im DB Puffer

Aktualisierung der DB erfolgt asynchron

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

Was sind Metadaten?

A

Metadaten sind Daten, die Informationen zu und Zustände über eine DB merken

Sind:
Informationen zu laufenden Transaktionen
Zustände zu Synchronisationsmechanismen
Zustand aktueller Logdaten

Aktuelle Metadaten werden vor allem im Arbeitsspeicher gehalten

18
Q

Was passiert beim Lesen in einem DBMS?

A
  1. Die Blöcke werden von der DB in den Puffer geladen (außer sie sind bereits drin)
  2. Dann können sie verarbeitet werden
19
Q

Was passiert beim Schreiben in einem DBMS?

A
  1. Before Zustand wird in Undo Log gespeichert
  2. Änderung der Daten in DB Puffer
  3. Speichern des After-Image (RedoLog)
  4. Zu späterem Zeitpunkt werden Änderungen dauerhaft gespeichert (Spätestens nächster Checkpoint)
20
Q

Was passiert im Detail beim Ändern von Daten?

A
  1. Ausgangssituation: Zu ändernde Daten sind im Puffer/werden reingeladen
  2. Before Image der Daten wird in Logfile (Undo Log) gespeichert.
  3. Änderung der Daten in DB Puffer
  4. Neuer Stand in Logdatei (After Image) speichern)
  5. Zu späterem Zeitpunkt zurückschreiben der Änderungen auf dauerhaften DB Speicher.
21
Q

Was passiert bei Änderungen und Commit?

A

Fall 1 Commit:

  1. Before Image der Bestandteile der Transaktion im Undo Log löschen
  2. After Image als dauerhaft markieren.
  3. After Image wird ewig gespeichert, kann nach BackUp Erstellung gelöscht werden.
22
Q

Was passiert bei Änderungen und Rollback?

A

Fall 2 Rollback:

  1. Vorheriger Zustand im DB Puffer mittels Before Image (Undo Log) wiederherstellen
  2. Falls bereits Änderung auf dauerhaften Medien erfolgt, ebenfalls zurückschreiben
  3. Before Image kann gelöscht werden
  4. After Image aus Redo Log löschen
23
Q

Wie kann der letzte konsistente Zustand einer DBMS nach einem Ausfall wiederhergestellt werden?

A

Aktuelles Backup wieder einspielen
Einträge aus Redo Log wiederholen
Anschließend ist letzter Zustand wieder hergestellt

24
Q

Was ist die Idee von Sperren in einem DBMS?

A

Sperren regeln den Zugriff auf Ressourcen

Paralleler Zugriff wird dadurch eingeschränkt

25
Q

Was enthalten die Logdateien?

A

Àlle Before Images mit Transaktionsnummer und Zeitstempel
Alle After Images mit Transaktionsnummer und Zeitstempel
-> dazugehörige Metadaten

Alle Logdaten müssen aber nicht gleich lange aufbewahrt werden.

26
Q

Was sind Hot Spots?

A

Sind Daten auf die immer wieder zugegriffen wird.
Werden deshalb nie verdrängt.

Sehr gute Performance
Aufwändige Recovery

27
Q

Was sind Checkpoints?

A

Sind Zeitpunkte, an denen alle geänderten Daten zwangsweise in die DB geschrieben werden.

Nachteil: Viele I/Os punktuell, Behinderung laufender TAs

Vorteil: Im Recoveryfall sind nur Redo Daten seit letztem Checkpoint nachzuvollziehen. Viele Metadaten können gelöscht werden

Häufigkeit: Zeitgesteuert oder Ereignisgesteuert

28
Q

Wie kann man die Sicherheit des DBMS erhöhen?

A

Normalfall: DB, RedoLogs, UndoLog, Checkpoints
Problem: Während einer Recovery darf keine weitere Komponente ausfallen.

Mehr Sicherheit: Zusätzlich werden Redo Logs gespiegelt.

Noch mehr Sicherheit: Zusätzliche DB wird gespiegelt (räumliche Trennung)

Extreme Sicherheit: Zwei komplett autarke Rechenzentren im Parallelbetrieb

29
Q

Was ist Concurrency?

A

Beschäftigt sich mit dem Parallelbetrieb von DB.
Grundregel: Jede TA läuft so ab, als sei allein im System.

Wichtig: TA muss Ergebnisse liefern, die unabhängig von anderen TAs sind

30
Q

Was sind die drei Concurrency Probleme?

A
  1. Problem der verlorengegangenen Änderung
    Zwei TAs ändern fast gleichzeitig. Eine Änderung geht verloren. (Grundsätzlich sehr kritisch)
  2. Problem der Abhängigkeit von nicht abgeschlossenen TA. Daten werden gelesen, die mittels Rollback rückgesetzt wurden
  3. Problem der Inkonsistenz der Daten
    Fehlerhafte Daten werden gelesen, wenn andere TA gleichzeitig ändern
31
Q

Was für Concurrency Strategien gibt es?

A

Optimistische Strategie
(Jede TA darf lesen und ändern, Bei TA-ENde wird auf parallele Zugriffe geprüft, falls ja ->Rücksetzen und Neustart der TA)
Pessimistische Strategie
Von TA genutzten Daten sind bis TA-Ende gesperrt.
Andere TAs müssen warten

32
Q

Vor und Nachteile der optimistischen Strategie

A

Vorteile: Einfache Implementierung, Gute Performance, Grundregel der Concurrency kann garantiert werden

Nachteile: Kann sich aufschaukeln, daher nur in Spezialfällen einsetzbar

33
Q

Wie kann man die Sperrmechanismen realisieren?

A

Mit Hilfe von Locks.
Zu jeder Relation existiert ein Log.
Eine TA holt vor jedem Zugriff auf eine Relation automatisch den Lock
Ist der Lock von einer anderen TA belegt, so wartet die TA in Warteschlange bis wieder frei.
Bei TA Ende werden alle Locks freigegeben.

34
Q

Was versteht man unter Granularität?

A
Granularität legt fest, was man als Ressource versteht.
Mögliche Granularitäten:
Ganze DB
Einzelne Zeile in DB
Einzelne Zelle in DB
35
Q

Was sind Vor und Nachteile hoher Granularität?

A

Vorteil: Maximal viele Zugriffe auf unterschiedliche Teile der DB möglich. ->Schnellere Ausführung

Nachteil: Anzahl Sperren steigt stark an, hoher Speicher und Prozessorbedarf

36
Q

Was ist die Idee von Share und Exklusiv Locks?

A

Paralleles Lesen geht ohne Probleme, Schreiben nicht.

Verbesserung des Sperren Konzepts.

Share Lock:
Zum Lesen
Kann mehrfach von versch. TAs gehalten werden
Wenn eine TA ein Exklusiv Lock hat erhält keine andere ein Lock

Exklusiv Lock:
Zum Schreiben
Kann nur von einer TA gehalten werden
Nur wenn andere sonst kein Lock hat

Beide Locks haben Warteschlangen und geben das Lock frei wenn TA fertig ist.

37
Q

Was ist ein Deadlock im DBMS?

A

Mindestens 2 TAs warten auf die Freigabe von Sperren, die jeweils von der anderen TA gehalten wird.

Keine der TA kann fortfahren, TAs geben Sperren nicht frei. -» Deadlock

38
Q

Was ist ein Wartegraph?

A

Ein Graph dessen Knoten Transaktionen repräsentieren und dessen gerichtete Kanten auf das Warten einer TA auf die Freigabe einer Sperre, die von einer anderen TA gehalten wird zeigt.

39
Q

Welche Methoden zur Deadlock Erkennung gibt es?

A

Einfache Strategie: beobachten von Wartezeiten. Bei langen Wartezeiten TA mit Fehler abbrechen.
Nachteile: Lange wartende TA muss nicht im Deadlock sein, optimale Wartezeit bis zum Abbruch nicht bekannt

Erkennen mittels Wartegraphen:
DBMS abstrahiert im Hintergrund den Wartegraphen
Wenn ein Wartegraph einen Zyklus enthält: Deadlock

Zyklus( Wenn man vom Startknoten aus nach durchlaufen der gerichteten Knoten wieder am Startknoten landet. Die Knoten die auf dem Zyklus liegen bilden den Deadlock

40
Q

Wie kann man einen erkannten Deadlock auflösen?

A

DBMS bricht eine an dem Deadlock beteiligte TA ab mittels Rollback

Die TA gibt die von ihr gehaltene Sperre dadurch ab

optional kann die abgebrochene TA später wiederholt werden