22

Datenbanken Grundlagen (Fach) / Transaktionen (Lektion)

f

Diese Lektion wurde von mapawa erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

Anzeige
  • Definiere "Transaktion" - logische Abfolge von Operationen - mindestens ein Schreibe-/Lesevorgang
  • Was sind die Eigenschaften einer Transaktion - kann sich über einen längeren Zeitraum erstrecken - Operationen finden meist außerhalb des Datenbestandes statt
  • Welche Probleme können bei Transaktionen auftreten - Lost Update - Dirty Read - inkonsistente Berechnung
  • Was ist das Lost Update Problem? Das Ergebnis eines Updates wird durch ein weiteres, gleichzeitg stattfindentes Update verfälsct
  • Welche Informationen sind nötig, um ein Rollback durchführen zu können? - Zuordnung jeder Operation zu einer Transaktion - Beginn der Transaktion (BOT) - Ende der Transaktion (EOT)
  • Wofür steht ACID? Atomicity Consistency Isolation Durability
  • Was heißt Atomicity? Eine Transaktion ist als atomare Einheit anzusehen. Sie wird entweder ganz oder gar nicht ausgeführt
  • Was heißt Consistency? Die Konsistenz der Daten muss nach der Transkation weiterhin bestehent
  • Was heißt "Isolation" Eine Transaktion muss bezüglich ihres Ergebnisses von anderen Transaktionen unabhängig sein
  • Was heißt "Durability"? Die Auwirkungen einer erfolgreichen Transaktionen müssen dauerhaft sein und dürfen nicht verloren gehen
  • Anzeige
  • Wann tritt ein Konflikt im Schedule auf? Wenn mehrere Operationen auf den gleichen Datensatz zugreifen && diese Operationen zu verschiedenen Transaktionen gehören && mindestens eine Operation eine schreibende ist
  • Wann ist ein Schedule seriell? Wenn alle Operationen einer Transaktion nacheinander ablaufen
  • Was sind zwei Schedules konflikäquivalent? Wenn die Reihenfolge ihrer in Konflikt stehenden Operationen gleich sind
  • Wie kann man einen Schedule auf Serialsiierbarkeit prüfen? 1. Zeichne für jede Operation auf einen Datensatz einen Knoten 2. Zeichne eine Kante für jeden Wechsel des Datensatzes --> Ergibt dies einen Kreis, ist der Schedule nicht serialisierbar
  • Warum ist die Serialisierung von Schedules in der Praxis kaum möglich oder sinnvoll? - Verschränkungen von Operationen werden meist von außen vorgegeben - ständig neue Operationen hinzukommen - bei Feststellung der Nicht-Serialisierbarkeit alle beteiligten Transaktionen neu gestarted werden müssen
  • Was kennzeichnet pessimistische Protokolle? Sie prüfen Transaktionen vor ihrer Ausführung auf Konflikte
  • Was kennzeichnet optimistische Protokolle? Sie führen Transaktionen zunächst im Buffer aus und gucken dann, ob sich Probleme ergeben haben
  • Wie ist das 2-Phase Sperrmodell aufgebaut? - Wachstumsphase --> es können ledigliche Sperren vergeben werden - Schrupfphase --> es können lediglich Sperren aufgehboen werden
  • Was sind die Nachteile von Sperrverfahren? - Einschränkung der möglichen Verzahnungen --> möglicher Effizienzverlust - Hoher Overhead - Möglichkeit des Deadlocks
  • Was ist ein Deadlock? Mehrer Transaktionen warten auf die Freigabe von von anderen Transaktionen erteilten Sperren
  • Wie kann ein Deadlock vermieden werden? - Timeout bei Deadlock - restriktiveres Protokoll - Deadlock Erkennung
  • Was ist das Zeitstempelverfahren? - jede neue Transkationen kriegt einen Start-Timestamp - Jeder Datensatz erhält einen Timestamp mit der letzten Schreib und der letzten Leseoperation - Wenn der Start-TS der Transaktion älter ist als der Änderungs-TS des Datensatzes, dann wird die Transaktion neugestartet