Datenbanken 2 Flashcards
Was sind die ACID Eigenschaften?
Stehen für die Grundbegriffe Atomicity, Consistency, Isolation und Durability. Prinzip stellt Regeln auf, wie mit Transaktion un DBMS zu verfahren ist.
Was ist eine Transaktion?
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”
Was ist Atomicity?
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.
Was ist Consistency?
Wenn der Zustand der DB die Realität abbildet. Speichern des atomaren Zustandes sozusagen.
Was ist Isolation?
Dass mehrere Programme auf die DB zugreifen können, sich aber nicht gegenseitig dabei behindern
Was ist Durability?
Beim Erreichen eines konsistenten Zustands, soll dieser Zustand dauerhaft gespeichert werden.
Was ist XML?
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
Wie sind XML Dokumente aufgebaut?
Bestehen aus hierarchisch angeordneten Elementen
Element: Öffnendes Tag + Inhalt + Schließendes Tag
Können Attribute haben -> Bestehen aus Name und Wert
Wann ist ein XML Dokument wohlgeformt?
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
Welche Bedingungen gibt es für wohlgeformte XML Dokumente?
1: Jedes Element besteht aus öffnendem und schließendem Tag
2: Die Elemente sind korrekt verschachtelt
3: Es existiert genau ein Wurzelelement
Was ist die Validität eines XML Dokuments?
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)
Paar Infos zu DTD
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)
Paar Infos zu XSD
Neuere Technik die DTD Schwächen behebt
Selbst XML
XSD kennt Datentypen
Was ist Recovery?
Wiederherstellung von Daten bei schweren Fehlern
SW Fehler: Fehler in DBSW, ANwendungsprogramm
HW Fehler: Stromausfall, Brand..
Wie kann man Defekten vorsorgen?
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)
Was sind Voraussetzungen für einen sicheren DB Betrieb?
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
Was sind Metadaten?
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
Was passiert beim Lesen in einem DBMS?
- Die Blöcke werden von der DB in den Puffer geladen (außer sie sind bereits drin)
- Dann können sie verarbeitet werden
Was passiert beim Schreiben in einem DBMS?
- Before Zustand wird in Undo Log gespeichert
- Änderung der Daten in DB Puffer
- Speichern des After-Image (RedoLog)
- Zu späterem Zeitpunkt werden Änderungen dauerhaft gespeichert (Spätestens nächster Checkpoint)
Was passiert im Detail beim Ändern von Daten?
- Ausgangssituation: Zu ändernde Daten sind im Puffer/werden reingeladen
- Before Image der Daten wird in Logfile (Undo Log) gespeichert.
- Änderung der Daten in DB Puffer
- Neuer Stand in Logdatei (After Image) speichern)
- Zu späterem Zeitpunkt zurückschreiben der Änderungen auf dauerhaften DB Speicher.
Was passiert bei Änderungen und Commit?
Fall 1 Commit:
- Before Image der Bestandteile der Transaktion im Undo Log löschen
- After Image als dauerhaft markieren.
- After Image wird ewig gespeichert, kann nach BackUp Erstellung gelöscht werden.
Was passiert bei Änderungen und Rollback?
Fall 2 Rollback:
- Vorheriger Zustand im DB Puffer mittels Before Image (Undo Log) wiederherstellen
- Falls bereits Änderung auf dauerhaften Medien erfolgt, ebenfalls zurückschreiben
- Before Image kann gelöscht werden
- After Image aus Redo Log löschen
Wie kann der letzte konsistente Zustand einer DBMS nach einem Ausfall wiederhergestellt werden?
Aktuelles Backup wieder einspielen
Einträge aus Redo Log wiederholen
Anschließend ist letzter Zustand wieder hergestellt
Was ist die Idee von Sperren in einem DBMS?
Sperren regeln den Zugriff auf Ressourcen
Paralleler Zugriff wird dadurch eingeschränkt