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
Was enthalten die Logdateien?
À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
Was sind Hot Spots?
Sind Daten auf die immer wieder zugegriffen wird. Werden deshalb nie verdrängt. Sehr gute Performance Aufwändige Recovery
27
Was sind Checkpoints?
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
Wie kann man die Sicherheit des DBMS erhöhen?
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
Was ist Concurrency?
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
Was sind die drei Concurrency Probleme?
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
Was für Concurrency Strategien gibt es?
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
Vor und Nachteile der optimistischen Strategie
Vorteile: Einfache Implementierung, Gute Performance, Grundregel der Concurrency kann garantiert werden Nachteile: Kann sich aufschaukeln, daher nur in Spezialfällen einsetzbar
33
Wie kann man die Sperrmechanismen realisieren?
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
Was versteht man unter Granularität?
``` Granularität legt fest, was man als Ressource versteht. Mögliche Granularitäten: Ganze DB Einzelne Zeile in DB Einzelne Zelle in DB ```
35
Was sind Vor und Nachteile hoher Granularität?
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
Was ist die Idee von Share und Exklusiv Locks?
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
Was ist ein Deadlock im DBMS?
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
Was ist ein Wartegraph?
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
Welche Methoden zur Deadlock Erkennung gibt es?
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
Wie kann man einen erkannten Deadlock auflösen?
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